Skip to main content

Full text of "TS-2068 Up-date"

See other formats


oF SINCLAIR COMPUTERS 


The Sinclair QL 
~a 32 bit CPU Powerhouse! 


& > THE 288 unper2 is. 


A Computer Without Compromise 


The TS-2068 Worktoxse 


fd dd a 
E UPI 1 


DATE Magazine 
1317 Stratford Ave. 
Fanaa City FL 32404 I Tel 904 871 3556 


NEws AnD NEw Propucts 


A Christmas Wish for 


[] SPECTERM—64(TS—4.1) 


300/1200 Terminal Software for T/S2068 
On JLO, AERCO, Larken disk or tape. 
Only $25.00 + $2.50 S&H 


i] Z2-SI/0 Bare Boards 
RS-232c Serial Interface for T/S2068 


With EREE 2050 card 
Only $24.50 + $2.50 S&H 


OR BOTH FOR ONLY 
#50.00 inc. S&H 


( Ourewe 48 commauous states, $6.50 St) 


LARKEN Disk Hardware: 
[ ] LARKEN Disk Systen 


Includes LARKEN Floppy Disk Interface, LKDOS (v3) 
Cartridge, Operating Manual and LKDOS Utiities’ Disk. 
Only $120.00 + $5.00 S&H 


[ ] LADOS Cartridge for JLO 


Specially configured LKDOS (v.3) Cartridge that 
works with your JLO SAFE Disk hardware. Includes 
Operating Manual and LKDOS Utilities’ Disk. 

Oniy $65.00 + $3.50 S&H 


[ ] LARKEN Randisk 
led. You can add up 


No BAM chips are included 
to 256K to this Nonvolatile Ramdisk. Easy to use 
as a floppy disk with LKDOS, 

Only $60.00 + $3.50 S&H 


This 


[] Tandon TM1G1-4 Quad 
Disk Drives 

These disk drives are brand new in factory 

sealed cartons. They are double sided, 

double density, 96 tpi (quad), full height 


drives. They are compatible with JLO, 
LKDOS, AERCO and QL disk systems. 


$45.00 4+ $6.00 S&H 


Buy 2, Get FREE Drive Cable! 

Buy 3, Get 4th for Half Price! 

Buy 4, Get One Disk Drive FREE! 

{ ] Cable (2dr)..512.50+52.50 S&H 
Hayes Compatible MODEMS 


{ J] Avatex 2400 (3/12/2400)....5179 
For CP/M, IBM and other systems. 
For T/S2068 (w/ Z-SI/O) and QL. 


{ ] Avatex 1200<P> (S00/P00).... 55 
<P>ocket size for the Z68. 


( ] Avatex 100<E> (300/100)... 565 
Great for SPECTERM-64 


Epson Compatible PRINTERS 


{ ] Seikosha 1200A! (120/25)..$199 
{ ] Seikosha 180AI (100/20)..5169 
{ 2 Star NX1000 (144/34)....$229 


All modems add $3.50 for S&H, all printers add 
$10.00 for S&H (Canada double S&H on all items). 


is brought to you by: 


Christmas Wish List 
Ed Grey Enterprises 


P.O. Box #2186, Inglewood, CA 90305 


Info >> 213-759-7406 << Order 
Call The Grey Matter BBS & REP/H (213-971-6260) 


INDEX 
UPDATE OCTOBER 1988 ISSUE 


General Information CLUBS 
Disk Libraries 4 Boston Computer Society 

Y 27 
Flea tarket ; 70 CCATS Portland, OR 25 
Invitation to Writers 48 Milwaukee, WI TSUG 33 
Issue Disks 6, 72 SINCUS, New York 8 
rertiaactead User Group a eek canada SUG re 
7 28e 12 Vancouver, Canada TSUG 17 
Supply Support 15, 70-73 
Writer's Format 43 


ADVERTISING RATE SCHEDULE--— page 77 


2X APPEAL 17 
SINCUS NEWS 8 
PLOTTER 25 
BoSTUG 27 
SINC-LINK 33 

QUx 40, 17 


UPDATE SOFTWARE LIBRARY-~----page 74 


TS-2068 Articles and Subjects QL Articles and Subjects 
Align Decimals ll ARCHIVE Tutorial 56 
Color Screens Copy 9 _ Address File Program 44 
Disk Multi Mgr (Oliger) 21 Arithmetic for Kids 64 
Extra Memory Recap 49 Beginner Course 30 
Extra Memory, Charles Bothner 50 CABLE Column 56 
Graphics LPRINT 25 CABLE ISSUE DISK/MDV CART 69, 72 
Hex Printer Dump 25 COPY MDV Cartridge 23, 31 
INfeger Function 11 HELPER, Super Basic Tool Kit 63 
Interface for Color Copy 9 Initializing SPEED SCREEN 23 
LPRINE CHR$ 25 Initializing TK2_ 23 
MAX DOS 3 Stacked DOS's 2 Microdrive Formatting 23, 30 
MSCRIPT for LKDOS 34 PRINT Primer 32 
ON ERR Tutorial 14 QL Tips 23 
OPEN}, CLOSE#, Streams 36 . QUILL, Configure printer 31 
Ckimate 20 Printer 9 QUILL, File Saver 29 
PRINT USING 11 QUILL, LLISTing with 31 
Round Numbers UP ll RAM EXTENSION 19 
TOS DISK with 0S-64 13 REFIELD, a Major Software 60 
Telecomput ing 41 SCAN, an ARCHIVE Software 65 
Test Printer ° 25 Sound Experimentor 18 
TAX Software to beat Deadline 15 
TELECOMPULTING 17, 41 
TELECOMPUTING with PACKET 42 


3 TOOL KIT 2 28 
UPDATE MAGAZINE TRUMP: Card ocronet 1388 


HOW GOES IT, UPDATE?? 


UPDATE Magazine launches into the next 
four years of publishing with near 100% 
renewals of subscriptions, and a flood of 
new subscribers. Most gratifying are the 
many favorable comments and good wishes 
received with the subscription renewals. 
Actually, subscribers more than trippled 
since the last issue. It is difficult to 
take score of QL users and TS~2088 users. 
Around 2/3 of the subscribers are QL 
owners, but half of them also own a 
TS-2068. : 


MAX DOS Versas the IBM MS DOS 
Versas QL DOS 


In past writings I've kinda given the | 


IBM PC abit of criticisms, mainly to 
re-assure the TS-2068 and QL users that 
they really aren't missing much by not 
having a IBM Compatable machine. AND, we 
need to feel good about what we are 
doing! A letter cane in from a2 
suoscriber who was one of the original 
designers of the IBM operating system. 
He ask for anonymity, so I will quote 
only half of his letter: 

“Dear B11], Enclosed please find my 
1989 renewal. Unfortunately I do not run 
any of the disk systems that you support, 
however, the organization and the quality 
of the articles in Update are well worth 
the price. I have invested so much of 
myself into SPO0S, using many of the 
system components, that I cannot_ face 
even evaluating another system. I am, 
however, beginning to worry about 
equipment failures. If you hear of any 
MILLENNIA K disk systems available I 
would appreciate a call. I could also 
use a disk drive case with power supply 
for two 5.25" drives. 

I was pleased to note your reaction to 


MS DOS.: In 1965 we were similarily 
concerned about 03/360 (similiar 
Philosophy) then being developed for the 


main frame family. Two others and I 
built the prototype virtual 
cperating system at IBM Cambridge 
Scientific Center. 

(8086) 


INTEL has built a Virtual 


Machine Facility into thetr 80386 chip © 


(Intel 231252~001) which now seems to be 


UPDATE MAGAZINE 


machine - 


supported by VM/386. Perhaps when this 
is’ expanded to use paging and allow 
YM/386 to run under VM/386 I may desert 
the 2068 for purely personal reasons. 
(Signature) " 


To the writer, and others interested: 
Thanks for_ your comments. The CUYAHOGA 
VALLEY SOFTWARE WORKS, 615 School Ave, 
Cuyahoga Falis, OH 44221, isa croup of 
users and programmers using SPDOS and the 
Millennia K Disk system. The address 
given is that of Thomas Simon, one of the 
leaders of the group. This group has 
developed SPDOS on disk to load into and 
operate with the TS-2068 Oliger Disk 
System. SPDOS loads to RAM and is 
co-resident with the Oliger 00S, 
Providing two disk formats and 8 
“combined” DOS Tool Kit Janguage 
structure, much more Powerful than either 


The nice part for Oliger Disk owners 
is that no additional hardware is needed, 
All they need todo jis order the SPDOS 
Disk ($29.95 from address given). 

The nice part for the Millennia K 
SPOOS users is that the Oliser disk 
system provides a new “hardware home" for 
SPOOS, where all of their existing 
software disks can be loaded and used in 
an even more capable environment than 
that of Millennia K. 

So Friend, dont give up the ship, Just 
adi the Oliger Disk, which is less 


expensive than an IBM controller card, 


and you will continue to be comfortable 
using SPDOS. Aliso I appreciate your nice 
comments and your agreement with the 
Position I take on MS-DOS. There are not 
too many who are willing to “buck the 
tide" and tell] it like it is, in the face 
of the "MS DOS Compatability fraud" that 
the industry has perpetrated upon the 
public. People actually develop an 
infertority complex over not having a 
“18M Compatable” computer! By the way—~ 
why dont you do some articles for UPDATE? 
We could benefit form your expertise. The 
next subJect broadens upon this 
discussion. 


MAX DOS: (Reference article in UPDATE, 
July 88 issue for backround). I have 
continued to use the Oliger DOS and 


4 OCTOBER 1988 


OCTOBER 1988 


armen 


Larken 00S together, and have 
experimented with stacking SPDOS "on top 
of both", THREE Disk Operating systems 
together. Actually the Larken DOS and 
SPOOS have many of the same functions. 
So there is not a great difference in the 
capabilities of “Stacked Oliger/Larken" 
“and "Stacked Oliger/SPDOS", so we could 
dub the two "MAX DOS L" and "MAX DOS S* 

So, I will continue to discuss MAX DOS 
as the como of “Oliger OOS Hardware 
interface", and the “LARKEN LKDOS Dock 
Cartridge". I have been operating with 
this combination of hardware for the past 
several months, hardly ever bothering to 
remove the cartridge or the Oliger B 
board. A couple of months ago I received 
a "loaner B board" from John Oliger. 
This one has a “EPROM OFF" switch, which 
my earlier board did mot have. The 
significance of this added switch in_the 
MAX DOS environment is that the LARKEN 
NMI functions will work when the OLIGER 
EPROY is switched OFF. BUT, to use the 
QLIGER NMI functions, you must remove the 
LKDOS Cartridge. Now we need to convince 
Larry Kenny to give usa little switch 
modification to his LKDOS cart to do the 
same, in order to allow the OLIGER NMI 
functions to work as well. 

Otherwise, MAX 00S is indeed a very 
Powerful DOS, despite the minor NMI clash 
« Now I dont want this to sound like 
criticism, sowill lead in with with 


compliments. The LKDOS EXTRA BASIC 
functions are SUPER! AND, so are the 
Oliger Extra Basic functions. When 


operating in the MAX DOS environment, one 
can use ALL of BOTH system's extra basic 
tool kit functions. The nice part is 
that the LKDOS functions are speeded up 
by the OQliger system's faster disk 
operation. This extra speed is most 
noticable when popping in screens from 
disk, MERGING in program seoments, 
bringing in data files from disk and 
saving data to disk. 

The OPTIMUM disk drive situation is 
TWO drives. me drive is used for 
DISCRETE Oliger DOS use, and the other is 
for DISCRETE LKDOS use. Each are 
“assigned their drive number" by either 
Programing in software or by direct 
commands. EXAMPLE: LET/d=0 would assign 
drive zero as an OLIGER DISK. AND- 


UPDATE MAGAZINE 


UPDATE MAGAZINE 
TT a 


PRINT #4:GO TO 1 - would assion disk i as 
a LKDOS disk. From then on, the system 
“remembers”, and a LKDOS disk command 
automatically accesses DRIVE 1, or a 
Oliger DISK command will access disk 
zero. 

But that sounds like we have two 
separate disk systems, which we have-. 
We can load and operate disks that have 
been produced by anyone's Lerken or 
Oliger system. And, we can Format and 
Prepare disks in either Larken or Oliger 
disk formats. BUT, we also have a 
COMBINED SYSTEM. Programs may contain 
ary combination of DOS commands. Boot a 
screen in from the Oliger disk, or save a 
file to the Larken disk. Programs that 
contain BOTH DOS DISK commands may be 
SAVED to either disk. AND, the operator 
does not even need to think about which 
disk will be operating. A Disk Command 
in the software will sutomatically use 
the proper disk, as designated by the 
previous LET/d= and the PRINT #4:GO TO. 

MAX DOS opens up tremendous Power for 
Programmers to use, employing all of the 
comand functions of two disk operating 
systems in one or more programs to 
command two disk drives. The software 
can be controlling up to nearly 2 mega 
bytes of disk capacity (2 80 track 
drives). Good planning can result in 
“programs in one disk and Data in the 
other disk" and keeping the program disk 
write protected. SO- whether MAX DOS is 
Larken 00S, or SPDOS- combined with the 
Oliger system, it is one tremendous Disk 
Operating Systen. All we need is for 
more TS-2068 users to discover this. 


THE Q& DOS 


The SINCLAIR QL. DOS jis excellent. 
Nobody needs to feel inferior about using 
the Q@. I look at it this way. How many 
IBM's have you seen that have a pair of 
additional fast tape drives? It is made 
even more powerful by the BIG Tool kit 
functions available in _ ROM cartridges, 
TRUMP CARD, and SANDY BOARD. Disk Orive 
works with the QL with nothing more than 
a Controller card, same es any other 
system, but it is less expensive than any 
other. Memory expansion is also less 
expensive. Do we need IBM Compatability? 


3 OCTOBER 1988 


TS-2068 and SINCLAIR QL 
ISSUE DISKS and MICO DRIVE DUBBING 


The Issue Disk program for the TS-2068 
will be carried on for support of the QL 
users, but with a small difference. 
TS-2068 programs and utilities given in the 
UPDATE pages are actual listings given for 
those who want to try keying in the 
listings. Some are quite long and keying 
in may not be very practical. Yet they are 
there to try. QL utilities will be listed 
for key-in also. But the software programs 
for the QL are generally just too long for 
practical key in projects and the listings 
would take up too much page space. These 
long QL programs will be written up as 
“Mini Manuals" in UPDATE. Although, this 
issue has one complete (but short) QL 
software "Mail Merge" that will be listed 
as a key in project. So, whether the QL 
programs are listed or not will be 
determined by their program length. 


The ISSUE DISK for the TS-2068 programs 
will include all of the software and 
utilities of a given issue. The QL Issue 
Disk will be variable, and will include at 
least one major software and the utilities 
given in the pages of the current issue. 
Sometimes there will be two issue disks for 
the QL users in one magazine issue. It 
just depetids upon the program lenght and 
applications of the software. 


PRICING: All Issue Disks for both 
computers will be priced at $20.00. This 
is an increase of $4.00 over past TS-2068 
disk price because UPDATE was not breaking 
even at $16.00 each. UPDATE supplies the 
disks, does the recordings, pays the 
mailing expenses, amd shares half of the 
proceeds of issue disk sales with the 
authors of the programs. It really isa 
non-profit situation for the magazine and 
the authors don't realize more than a token 
payment for their support of us all. 


MICRO DRIVE ISSUE Recordings: Due to 
the higher price of the cartridges and 
their scarcity, UPDATE will provide Issue 
Dubbing service. Those who want the 
programs and utilities may send in a 
FORMATTED MOV cartridge and it will be 
returned with the Issue programs recorded. 
"Formatted" is emphasised because if the 


UPDATE MAGAZINE 


user formats the cartridge first, he is 
assured that the cart will take the 
programs and there will be no mail delays. 
The price for MDV dubbing will be the same, 
$20.00 per named Issue Disk. 


UNCONDITIONAL GUARANTEE: Subscribers 
may be sure that these programs on disk or 
mdv are worth the price or more. If not 
not completely satisfied, the user may keep 
the disk or cartridge and just ask for full 
refund. Sometimes a software program may 
require more documentation than UPDATE can 
accommodate in the issue pages. PAPER 
documentation and the mailing of paper is 
expensive, and the author may need to 
charge extra for an extensive manual. 
These instances will be announced. 
Documentation within a disk or micro drive 
is a much better method, where text can be 
illustrated with screen examples, and the 
text sent to a printer. 


COPYRIGHTS 


Unless specifically stated, all programs 
presented in UPDATE magazine are the 
property of the individual authors and are 
protected by copyright. The authors give 
their limited permission for publication in~ 
UPDATE Magazine and for the distribution of 
recorded copies to the purchasers of the 
Issue Disk series. No other sale or 
transfer of these programs are authorized 
by anyone or any other publication. Some 
Programs and utilities may be donated to 
public domain by specific statements made 
by the author within the text of the 
programs presented in the magazine. In the 
absence of such statements, the programs 
are priviledged. 


MICRO DRIVE V/S DISK: Both mediums are 
excellent. A huge software may be recorded 
on disk, but to use micro drive, such a 
program would need to be broken down into 
several individual segments, as is the four 
PSION sofwares. By the same token, an 
un-expanded QL can run large programs that 
are broken down in "boot in segments". 
Most large programs presented in UPDATE 
will have two.versions, one for disk and 
another for micro drive. All programs 
presented will work on = standard QL 
computers, but some may have annexes to 
expand into extra memory. 


OCTOBER 1988 


OCTOBER 1988 


QL SUPPORT IN THIS ISSUE 


Remember that UPDATE questionare? Well, 
a tabulation reveals much about the QL 
user's equipment and desires. About 60% of 
present user have un-adorned QL computers— 
no memory expansion, and micro drive only 
as a storage device.: The other 40% have 
disk and extra memory. Of the group, about 
70% say that they need beginner level 
programming information, tips, and 
utilities to use. The 30% minority ask for 
more sophisticated information about disk 
drive, trump card tool kit programming, 
more advanced software, conversion of IBM 
MS DOS software, and other hi brow stuff. 
UPDATE will try to accommodate all. This 
issue begins a feature article titled, 
“THE QL BEGINNER COURSE". This series will 
go on "forever". I guarantee that it will 
because I'm the author. If you'll follow 
this series you will learn how to program 
the QL, and how to get the most out of the 
four PSION Softwares. You'll learn it as I 
learn it, because I am a novice on the QL. 
But better stay up with each issue or 
you'll get behind! I'm a mean and lean 
TS~2068 programmer and learning the QL will 
come naturally. So, start with me in this 
issue and progress with me. 


MEET some QL Programmers 


Bill Cable, Wood and Wind Computing, 
RR-2 Box 92, Cornish, NH 03745 (tel 603 675 
2218). I lead right off with a plug! This 
is because I want you to know Bill. I want 
you to know all of our supporters, dealers, 
and publishers. Bill Cable is one of them 
extraordinary programmers who specializes. 
Bill is a QL dealer who developed a 
customer base of businesses, selling QL 
computers to medium and small business 
people, and then supporting them with 
custom software. Needless to say, his feet 
were cut from beneath when Sinclair stopped 
production and support of the QL. I om 
sure that all QOL users will encourage Bill 
Cable to turn his programming efforts to 
support the users. This issue brings in 

one of Bill's outstanding softwares, 
titled “REFIELD". This software is 
designed to augument the PSION ARCHIVE to 
make it infinitely more flexible and 
powerful. REFIELD is presented in versions 
for both Floppy disk and for Micro Drive, 
and will occupy one of the two October 


UPDATE MAGAZINE 


UPDATE MAGAZINE 


Issue Disks. REFIELD will also be offered 
for Micro Drive Dubbing. See the last page 
of this issue for details. 


NEXT, another well known author and 
programmer has invaded the QL Group. Bob 
Hartung has been a regular writer and 
programmer for UPDATE since it's first 
issue, but doing TS-2068 articles. Bob 
continues to write and program for the 
TS-2068 while producing for the QL as well. 
Thats kinda like alternating between both 
seats of a bicycle built for two while its 
rolling down hill. Now get this! Bob's 
"QL ADDRESS FILE" software, given in this 
issue, is designed so that it works in 
three different computers, the QL, the 
TS-2068, and with Beta Basic in the 
Spectrum. QL Address File is designed as a 
simple program that works independently. 
and is an excellent one to tackle as a 
key-in project. Whatever, this one will 
also be offered on disk and for micro drive 
dubbing. See the last page for ordering 
information. 


BOB DIGGS KV3Q, a HAM Radio Operator, 
has been tackling the QL and its problems 
associated with Telecomputing, only on a 
little different tack, with PACKET. This 
gave me a_ chance to open up the subject, 
"Telecomputing". Hope others join in to 
cover Telecomputing in detail. 


Finally, several re-prints of QL 
articles fron the various Sinclair User 
Clubs are given in this issue. One of the 
very best paths to learning computers is to 
join a User Club, and participate. This 
way, one meets folks who have like 
interests in computing. Friendships are 
formed and telephone numbers exchanged so 
that help is but a few feet away at your 
telephone. Some travel over a hundred 
miles one way to attend User Group Club 
meetings and benefit greatly from the 
association. The idea is to form a 
“special interest group” of QL users within 
the special interest Sinclair Club. Then 
you get together and exchange information 
and tips, swap public domain software, and 
copy programs from the club library. This 
issue brings information about several live 
wire clubs, and samples some of their 
newletter articles. If there is not a club 
listed near to your home, call me and I'll 
put you in touch with one. 


OCTOBER 1988 


we 


SINCUS PROGRAMS 


Time Designs did the Timex Sinclair users 
an excellent service by producing an up to date 
listing of all Sinclair Timex Clubs, listing all 
Club publications, and rating them on a scale of 
fron 1 downward. SINCUS NEWS, 1229 Rhodes Road, 
Jomson City, NY 13790 copped FIRST PLACE. 
Subscription is $8.00 per year (underpriced). 
SINCUS provides more service to both members and 
non members than just a good newsletter. See 
clips below. 


SINCUS OFFERINGS: 

RENEW or Subscribe to SINCUS NEWS for 
$8 per year. Send in a Mailing label of 
either UPDATE, Time Designs, or Syncware 
news and receive and extra issue of Sincus 
News FREE, added to your subscription. 
(Offer ends 12-31-88) 

SINCUS TAPE/DISK LIBRARY: Write for 


details (An OUTSTANDING BARGAIN- UPDATE 
RECOMMENDS! ed) 
SINCUS "Computus Interruptus"- a 63 


page programming manual by Wes Brzozowski. 
(UPDATE rates this as EXCELLENT) Comes in 
two forms~ a paper manual for $10 member or 
$12 non member of SINCUS. or, a disk in 40 
or 80 track Oliger or Larken Format- $5 
member, or $6 non member of Sincus. 

SINCUS CLONE:- TS-2068 tape copier- $6 
for tape and documentation. 


The SEP/OCT issue of SINCUS NEWS is in and 
contains some very interesting stuffin. The 
Editor gave UPDATE MAGAZING some very 
appreciated praise, for which I thank him for 
profusely. BUT- he didn't get everything right! 
He said that UPDATE is “virtually a one man 
show", Actually, about 75% of the red meat 
pages in UPDATE is contributed by GUEST WRITERS. 
(Count umi) The Editor does a few new utilities 
and rambles on in editorials to give the UPDATE 
its personality. 


Without the generous participation of 
expert writers, UPDATE would be just a little 
nothing newsletter. ‘The editor realizes that 
some folks just don’t like OPINIONS expressed in 
editorials, so pages are piled on to make up for 
editorial verbosity. So, Paul, Thanks, but 
stand corrected. UPDATE is a "participating" 
magazine, and owes its reputation to the writers 
of fine articles, programs, and utilities. 


UPDATE MAGAZINE 


The North American Sinclair Society 


Now to slip out of the third person: Paul 
Hill, editor of Sincus News, has some darn good 
ideas about consolodation of publishing efforts 
into ONE MONTHLY Magazine which would encompass 
all existing publications and all Club 
Newsletters. Tt's a good idea, Paul. What is 
lacking is "Management Control", so that such a 
publication would not become a "Sinclair 
publishing monopoly", setting advertising rates 
up to unfair prices, and reducing page (red 
meat) content down to minimal in order to make 
higher profits. But still, it is a good idea to 
pursue. I would invision a Sinclair Timex 
publication that would be managed and controlled 
“by the user group". 


WHAT USER GROUP? There is no organized 
user group. ENTER "Lhe North American Sinclair 
Society", or soma such named organization. The 
Florida Groups coined "SNUG" which everyone has 
trouble breaking down into prose. But WHATEVER, 
we need a PARENT ORGANIZATION of Sinclair Timex 
user groups of North America. ONLY When such a 
parent group is formed can there be concerted 
effort to do things for the good of all. This, 
I believe is where all of the present User Group 
officials should be working and coordinating. A 
North American Group wont be formed without such 
coordination amongst the existing strong clubs. 


TI cannot form a North American Group. 
Neither can Tim Woods, or the other publishers. 
We do not represent anyone. But, we stand by to 
lend our support. You present officials of 
Clubs DO represent people. Why dont you 
establish direct coordination between Clubs and 
form the North American Group? vote ina 
management board of officers who will operate as 
a Senate to form up the charter and by-laws. 
Use the existing publications as tools for 
publicity membership drive, and COMMIT your own 
club members en-mass to become members of the 
North American Group, 


THEN, when the North American Group is 
fully formed and has establised a sense of 
directions, it will be time to explore the idea 
of a Single Publication, of ample size, to 
become the voice of Sinclair Timex Computing in 
North America. Membership in the Parent Group 
should carry with it a subscription to the Group 
publication. UPDATE Magazine will cooperate if 
the interests of the subscribers are guaranteed 
to be fulfilled. So there you are. A gauntlet 
has been throm to the Officials of our current 
Sinclair Timex Clubs. Who will accept the 
challange and assume leadership for 
coordination? Its your move now. 


OCTOBER 1988 


OCTOBER 1980 


JPDATE MAGAZINE 


EARL V DUNNINGTON 
4356 KING THEODORE DR. 
BOYNTON BCH.) FL 33436 

PHONE .487732-6219 


® SCREEN COPY IN FULL COLOR AND MORE! ! 


A REVIEW BY EARL DUNNINGTON 


John McMichael has done it again! That 
is improved the capability of our 2048's by 
developing software that will make a full 
color or black and white screen COPY) when 
used with his interface, the OKIMATE 20 
color printer, and the Okimate Commadore 
Plug and Print module. 

He has also developed two other pro~ 
grams for this hardware, A Patch for Jack 
Dohnay’s MSCRIPT revisions V5/V5.2 and a 
machine code OKI-DRIVER program that 
supports the LLIST and LPRINT commands. 
Each program is on a separate tape and were 
$ 8.95 each. 

The Screen Copy program requires that 
lhe screen be saved on tare with the SAVE 
“nane” SCREENS command or the equivalent 
SAVE “name” CODE 16384,6712 command. The 
options allow you to specify color or black 
and white, small or large size, the 
horizontal position on the paper, and the 
number of copies to be made. After the 
specified number of copies has been made, 
you can again enter your choice of options 
and either use the sawe screen or load a 
new one. The small size produces a screen 
copy 1.55" by 1,25". The large size is 
3.15" by 2.55". Approximately 30 copies 
can be made with each Color Ribbon”. 

(3 5.65) using the large size. 

The black and white screen copy using 
the black ribbon is much darker than that 
produced by the 2040 printer. However 
there is no shading for the different 
colors like that produced by Zebra’s 
Z-PRINT @0 or like a color screen viewed on 
a green screen monitor. Due to this the 
color copy is a vast improvement, even 
though a large black of paper color only 
characters reproduces somewhat unevenly, 
the colors being slightly darker along the 
horizontal juncture of each character line 
with another. The individual pixels are not 
apparent to the naked eye. For testing, I 
used the third color screen from Knighted 
Computers "NIGHT GUNNER" (c) Digital 

- Integration. It has the following colors: 
whitey black, greeny yellow, blue, cyany 
and red. I consider the rendition of the 
ink colors, excellent. The instructions are 


UPDATR MAGAZT NF 


also excellent. 

As I do not have Jack Dohany’s revised 
versions of MSCRIPT, I can not comment on 
the Patch program, other than the 
instructions seem very complete. 

Thd OKI-DRIVER program is strictly 
machine code. It loads in starting at 
address 64974 and is 494 bytes in length. 
The program is compatable with the Larken 
DOS V3 and the Larken 256K RAM DISK. It is 
also compatable with the Zebra FDD 3000 
with TOS. As written the code is nat re~ 
locatable and therefor is not compatable 
with the Zebra 0S-64 cartridge or any other 
program using two display files. In 
addition to supporting LLIST and LPRINT 
there are options for sending printer 
control codes with support for LPRINT onlus 
switch the character transposition off, 
and switch backand forth from the big 
printer to the 2040. If the 2040 is also 
connected you can always use COPY. The 
options and switches are made using RAND 
USR commands. There are eight 2068 
character codes that will print as 
Commadore characters? 


92 Always 
95 Always 
96 “Always 
123 ‘Always’ 


124 In printer control code mode 


° 125 Always 


126 In printer control code mode 
127 Always 


The instructions for using the program are 
excellent and quite complete, The utility 
of the program would be greatly enhanced by 
fronting the code with a BASIC loader and 
code mover program to adjust the internal 
dumps and the calls to any location 
desired. 


The McMichael interface emulates a 
Commadore serial port. It was originally 
developed for use with the 2068 and the 
Commadore four color pen 1520 plotter. The 
interface can be purchased as bare board 
($14), a kit with all parts ($20), or 
assembled ($30). I ordered the kit. As I do 
not have the Oliger expansion board, I also 


OCTOBER 1988 


OCTOBER 1988 


ordered the edge connector ($4.95). The 
documentation is excellent and I had no 
difficulty in assembly. Do not worry if you 
think you may have a solder bridge between 
pins 8 and 9 of U3. They are supposed to be 
connected. 

The OKIMATE 20 ($136) is an 80 column 
"State of the Art", square 24 pin, NLQy 
dot matrix, thermal color printer, It uses 
color or black thermal ribbon cassettes. 
Thermal paper without a ribbon cassette can 
also be used (4-80 foot rolls $16). The 
footprint is about 13" x 7" and is about 
2" high. A tractor is built in for paper 
with sprocket holes. Single sheets can also 
be used. A serrated plastic edge is built 
in for tearing roll thermal paper. The 
printhead is removable for cleaning or re~ 
placement ($21,995) by the quner. The over~ 
all quality of construction appears to be 
excellent and it is very quiet when print~ 
ing. There are printer control codes for 
draft quality, character size (Pica, Elite, 
Fine, double width), Italics, Super and 
Subscripts, underlining, reverse printing, 
form feed, carriage return, line spacing, 
starting position, skip over perforations, 
and graphic modes. 

The printer documentation, registra~ 
tion form, a color ribbon cassette, a black 
ribbon cassette, computer paper, a order 
form for supplies, and the plug in printer 
wodule are all contained in the Okimate 
Commadore Plug and PrinT package (#79.95). 
Dip switches in the module allow you to use 
different international character sets. 

T consider this, for the price (total 
about $270) one of the best full size 
printer systems available for the 2068. It 
could be improved by a color screen program 
that would produce a printout twice the 
present large size. The prices quoted are 
approximate. 

The OKIMATE 20 and the Conmmadore Plug 
and Print module can be purchased at TOYS R 
US; Service Merchandise, and Sears. Some 
mail order computer supply houses also 
carry them. Check the ads in Commadore 
magazines, Compute, and the Computer 
Shopper. 

Send a legal size SASE to! 


John McMichael; 1710 Palmer Dr.y Laramie 
WY 82070 : 


for an order form and price list. If you 


enclose one dollar he will also send a 
sample color screen copy. 


UPDATE MAGAZINE 


UPDATE MAGAZINE 


probetetareteretatelolatonitetetetetetstatetetetetetsteteteteteel 
8 = 
- NIGHT | 
io x 
> a 
_ GUNNER | 
& a 
S BY 2 
% Red. SWIFT x 
e @ CIGITAL INTEGRATION 19a x 

a 


Se, teeny 
NIGHT GUNNER IS LOADING 


inn : is SUtet: pene 
fo: © DtSttAL tNTEGRAT ION 1883. 


Ssbon 


Editar's note: Two screen copies were supplied, one 
@ B&W and another in full color. These are reproduced 
below if full size. Unfortunate a BSW copy cannot do 
Justice to the color screen so I will describe it. The 
darge print “NIGHT GUNNER’ is in Cyanide on a bright 
red background. The smaller print below is white, as 
ig the fancy border. The two bombers and ships below 
are in bright yellow on a blue background. The knight 
with pointed rapier is sketched in white. “Night gunner 
is loading" is black print with green background. The 
colors and contrast are vivid, about what you would see 
on screen, but with with no gaps between dram pixel 
dines. Focus is sharper than a screen image. "NIGHT 
GUNNER" stands out on its background in a way that 
Jooks three dimensional. This is the same size screen 
copy as we are used to with other softwares. I would 
suspect that if the printer could be put into an 
expanded mode that the print out would cover a darger 
area, as does other screen dumps. Only one gripe and 
thats against Digital Integration; "What respectable 
Air Force paints their aircraft YELLOW?" 


10 
OCTOBER 1988 


VALUBEK L988 


THE ROUND UP 
AN UPDATE PROGRAMMING TUTCRIAL 


This is a program designed for UPDATE 
to demonstrate several abilities of dealing 
with numbers. FIRST, the "INI" function 
"ROUNDS DOWN" figures. All businesses do 
the opposite, ROUNDING UP to the nearest 
cent. This can make a busy department_ store 
quite a few dollars during a day's opeation. 


Next, PRIN USING is a ROM routine used 
with some computers to "Format a Column of 
Figures". Mr. Sinclair left PRINT USING out 
o£ his Sinclair Basic ROM. But anything 
that a ROM routine can do can also be done 
by programming in RAM. Here we use a little 
routine that simulates a PRINT USING 
function to print the dollar sign, then 
print a column of figures with decimal 
points aligned. Also, Zerces are added when 
necessary. 


The use of INP (INTEGER) in math 
calculations to assign the resultant toa 
variable causes errors. The error is only 
in the assignment to the variable. The 
“Floating Point Calculation" has the right 
value “in there somewhere", but a small 
fraction is lost when INT is used ina 
calculation. EXAMPLE: try this group of 
direct commands: <LET a= 1.0954><LET b=INT 
a> <LET c=INE (100000*(a-b)) > <PRINI c>. 
Floating point calc drops a tiny fraction 
that can be troublesome. LINE number 9710 
uses a little "floating point k factor" of 
+0001 and then adds .005 for "rounding up" 
to the nearest cent. 


Line 9712 adds a whole number if a 
round-up changes 99 cents to $1.00. Then 
the integer number and the decimal fraction 
are assigned to a$ and b§ for printing. 
This is because the TS-2068 prints decimal 
numbers as "0.4", "0.25", which is not 
convenient to print directly. The "SIR$" 
function transfers a numeric value into a 
literal value to place ina string. Try 
this EXAMPLE: <LET a=12> <LET a$=SIR$ 


a><PRINI a$>. Amazing, eh? Now lets go the 
Opposite way: <LET a$="386"><LET a=VAL 
aS><PRINT a>. Stupendous!! Mess around 


this way with SIR$ and VAL, and you'll get 
good at using numbers in both simple 
variables and in string variables. 


line 9718 does a bit of “String 


Next, 
Some of the odd presentations of 


Slicing". 


UPDATE MAGAZINE 


UPDATE MAGAZINE 


fractions may result in B$ being ".020". To 
just present "cents", we chop off the last 
"o", Lets try that separately now: <LET 
b$=".020><PRINT bS$( TO 3) >. Oc: <LET 
b$=b$( TO 3) ><PRINI b$>. Try several other 
examples likes <LET b$="I LOVE THIS"><PRINE 
b$><LET b$=b$( TO 6) ><PRINT BS>. 


Next, line 9720 "sums" the figures, but 
only IF x=l. In the beginning we LET x=0. 
So, each input figure is summed as they are 
typed in. When we want to present the sum, 
we type "s" instead of a number. Back at 
line 9700, the input of "s" instead of a 
number gives us an error (unless variable s 
has been assigned a number). The error 
trips the first ON ERR GO TO 9800. Then at 
line 9800, the ERR is RESET, a line is 
drawn, and a dollar mark is printed. Then 
the GO TO 9710 processes the SUM to be 
printed. 


Finally, line 9770 prints the figures, 
with all decimals aligned at your TAB 
setting. AS carries the WHOLE dollar value 
and B$ carries the CENT value. Then line 
9780 stops if the SUM has printed (x=1), or 
line 9790 returns to pick up the next input . 
number. ONE MORE line needs to be 
discussed. LINE 9700 has a second <ON ERR 
GO TO 9706>, which is the next line in the 
program, "STOP" creates the error so that 
the ON ERR programming is cancelled (no open 
ON ERR to mess you up later). 


{ 

Now thats a lot of programming 
functions in a few short BASIC lines, and 
likely less memory is used than if Sinclair 
had put the routines in ROM and given us a 
PRINT USING syntax to use. And, because it 
is in BASIC programming in RAM, we can alter 
it as needed to tailor the routine to our 
needs. There are many ways you can modify 
this utility to use as a SUB-ROUTINE in your 
programs. Change PRINT to LPRINT in line 
9790 to put it on paper. But if you just 
want a “Column Adder", use it the way it is. 


' 9680>REM [ THE ROUND-UP ] 
( Summing of Columns } 
{ PSEUDO PRINT USING ] 

9690 CLS : LET x=0: LET t=0: LET 

tb=25; 

REM [ variables are "t=Total. 
tb=tab. x=switch that 
turns on by ERROR for 
totalling. ] 

9691 


11 
OCTOBER 1988 


OCTOBER 1988 


(9692 REM [ Lines through 9700 
may be eliminated. 
Then the input to 
the routine would 
be numbers assigned 
to varable a. 

9694 REM [ The Routine end is 
line 9780. Change 
line 9780 to RETURN 
for Sub-routine use. 

9697 REM 

9700 ON ERR GO TO 9800: INPUT "K 

ey in Number- or ""s"" for SUM 

";as ON ERR GO TO 9706: STOP 

9706 ON ERR RESET : IF t=0 THEN 

PRINT TAB tb-5;"$"; 

9710 LET b=INT a: LET c=INT (100 

*(a-b+.0001+.005)}: LET d=c/100 

9712 IF c>99 THEN LET b=btl: LET 

c=0: LET b§=".00" 

9714 IF ¢>=0 AND c<l0 THEN LET b 

=". O"+SIRS c 

9716 IF c>9 THEN LET b$="."+SIR$ 

cHto" 

9718 LET a$=SIR$ b: IF LEN b$>3 

THEN LET b$=b${ TO 3) 

9720 IF x=0 THEN LET t=ttbt(c/10 

0) 

9770 PRINT TAB tb~LEN a$;a$;b$ 

9780 IF x=1 THEN LET x=0: STOP 

9790 GO TO 9700 

9800 ON ERR RESET : PRINT TAB tb 

743" “TAB tbh-6;"$"7.2 LET 

xel: LET a=ts: GO To 9710 


$500.00. 


UPDATE October 1988 


Sinclair 268 


This is really a CLUB Issue of UPDATE 


If the reader has concluded that UPDATE is plaggerizing 
and stealing articles for the various Club newsletters, 
then the objective ig missed completely. The reason for 
the selected re-prints is to give samples of the excellent 
material that is produced in these excellent club 
publications. So, you get two benefits from these club 
articles. First, you get the good articles to digest. 
Second, you get a chance to savor the personality of the 
clubs and the quality to expect in club publications. 
Then, of course, you get the address to use to JOIN the 
club or Subscribe to their newsletter. Actually UPDATE 
has a bark of excellent NEW articles about the TS-2068 and 
the QL, enough to fill at least the next five issues. The 
Sinclair user groups need an influx of new members to 
spark new life and direction. Especially, the clubs need 
QL and TS-2068 members to join and form a special interest 
group within the existing Sinclair special interest Club. 
This is UPDATE"S way of helping to round up new members of 
the Sinclair User Clubs. Unfortunately, space does not 
permit the introduction of all clubs in one issue, but 
we'll get rountuit in future issues. 


wwe THE SINCLAIR 288 "lap top" COMPUTER *** 


So far as I can tell, there are only praise and 
enthusiasm coming from the owners of the Sinclair 28a. 
Frankly, I dont like the term “lap top", as it seems to 
have a connotation of “tinker toy” which demeans the 
extraordinary capabilities of the 265. Lap tops come-in 
many varities of both eize and price. Last week I looked 
at a Mitchubitchi lap top which comes in at a measly 
$4999.99 unit price. Then there are earlier lap tops 
which didn't sell like hot cakes and are now priced below 


(Read “not designed to user needs") . 


We have several subscribers to UPDATE who already have the 288, and I suspect thet there will 


be many more on December 26. 


subscriber and a Z88 Dealer, has just about fini: 
become a best seller to the Z89 group. 
for this little and powerful computer. 
to load any software, even though you can if you wiah to”. 
ever need for normal business or home is already in the 
"It is not possible to 


“Tt will print to any printer. 4 ! q 
“The spread sheet capabilities are fantastic and easy to use." ‘The 


few keys". 
the 288. 
the nearest printer". 


memory add ons can reach 3 mega bytes, plus any 
operates automatically". 


built in EPROM which 


whether the computer is on or off". 3 
be changed without the computer memory losing any data". 


Why not, the Z88 will fit intoa Christmas stocking! Mike Fink, a 


ished a new "Z88 Instructional Manual" which will 
Now Mike has built up a real head of steam (enthusiasm) 
I'll Quote some of his sentences: "You will never need 
“All of the amg that you'll 
computer and available by the touch of a 


design or build a better word processor than ia built into 


Just pull the cable out of your pocket and plug into 


ramber of insertable memory cards". "It has a 
“It holds data in memory forever, 
“It operates on inexpensive pen light batteries which can 

“The 288 is truly the most versatile 


combination of computer design, function, and portability, in the World at this time". 


As I said, Mike Fink ie an enthusiastic 788 Dealer. 80 0 
UPDATE welcomes and will publish a detailed review of the Sinclair 


we cannot exactly call him un-biased. 
788 FROM AN OWNER ONLY. We 


need to know from the horse's mouth more about this new Sinclair product, whether it isa worth 


its price, and an evaluation of its operat: y 
several months can provide such a comprehensive review. 


about this new computer? 


jon. Oniy an owner who has operated the Zd8 for 
How about you Z86 owners telling us 


(Mike Fink, 365 ¥. 39th St., NY, NY 10018-1401 ) 


UPDATE MAGAZINE 


12 
OCTOBER 1988 


OCTOBER 1988 


UPDATE MAGAZINE 


LETTERS: Just had to show you this one (reduced 50%). 


oS 


LENSE, 


SEND ANOTHER 


SPSPRERPPHPXPIPEPLEDP PI REEL DPE LP PEPER, 


SESERPSPG IPLPIPLIPLD HELP HPLD IPN RPP HPP HPN IO DHE HE HP) 


VSING THE 275-644 


At no time should the TOS copyright 
notice remain displayed; otherwise you are 
not properly booted up. 


ROOTING UP 

1. With the computer and drives off, 
insert 05-64 cartridge in the 2068 car- 
tridge port. 

2. Turn on computer. The screen will 
clear and then display the 05-64 copyright 
notices. 

3. Power up the drives and then insert 
the TOS DEMO disk in DRIVE A. The drive 
light will flicker as the disk is read. The 
OS-64 copyright notice will remain display- 
ed. 

4, When the light stops flickering, 
type in the CAT* command and press ENTER. 
You are now booted up in TOS with a 64 
column screen. The DICE game must be 
revised for a 44 column screen. 


REBOOTING 

1. With a TOS disk only in drive Ay 
while pressing and holding the red reset 
button on the drives, pressand release the 
grey reset button on the interface. 

2. Release the red button after the 
screen clears and the 0S-64 copyright 
appears on the screen. 


UPDATE MAGAZINE: 


Seon BAL, : 
DQ anjoy radiny UPDATE 


YEAR OF UPDATE 


$15 
ENCLOSED 


CARTRIDGE WITH TOS 


3. The drive light will flicker as the 
disk is read. 

4. When the drive light stops flicker- 
ing, type in CAT# command and press ENTER. 


TO TURN OFF THE SYSTEM 

1. Remove disks from both drives. 

2. Turn off the disk drive-power 

3. Then and only then turn off the 
computer, otherwise you may damage either 
the disks or the drives. 


EARL V DUNNINGTON 

4356 KING THEODORE DR. 

BOYNTON BCH., FL 33436 

PHONE 308-732-6219 
ot 


OCTOBER 1988 


OCTOBER 1988 


<ON ERR> Programming 


A person whom I'd never heard of sent me 
a cassette, saying that it contained an 
important program that "hangs up every time 
it is loaded", I loaded the program and sure 
enough it did hang up. A touch of the NMI 
button on the Oliger DOS board gave me "0.K" 
at the screen bottom. Then LIST put the 
listing on screen where I discovered <ON ERR 
CONTINUE> in the first program line. I 
EDITed the line and removed the ON ERR, then 
found a subscript error in a following 
program line. The moral of this story is 
that if you use <ON ERR CONTINUE> you'd 
better have every conceivable error 
eliminated. I returned the cassette with the 
ON ERR removed and the program re-saved, with 
expanations, never to hear from my pen pal 
again- no thanks, no nuttings. AND, I paid 
the postage. The morale of that story is, if 
you ask someone to do something for you and 
he does it, you should thank him. 


The TS-2068 "Remembers ON ERR" and the 
line number in an ON ERR statement "well 
after" the program line that contains the <ON 
ERR GO TO> statement has been executed. Then 
the first error condition forces the 
abandonment of sequential line read, and the 
line that is designated in the ON ERR 
statement is executed. Therefore, if you use 
<ON ERR GO TO line>, it is best to terminate 
the ON ERR "whether an error exists or not". 
One DOS (AERCO FD-68) will carry forward a ON 
ERR condition when a new Basic Program is 
loaded without a computer reset. This can 
cause the next program loaded to give you an 
unpleasant suprise. 


ON ERR programming can let the 
programmer do many things that cannot be 
achieved by any other means. But it is not 
good programming technique to leave a ON ERR 
condition dangling. I'll give a couple of 
examples that can be modified and used in 
different ways. First, the cure for the FD-68 
programs that may be loaded during a ON ERR 
condition in a preceeding program. 


5 REM ** RESET a ON ERR 
10 ON ERR GO TO 9000: STOP 
20 STOP : REM **Line to begin 
your programming. 
9000 ON ERR RESET : GO TO 20 


Let your auto run line be line 10. The 


14 
UPDATE MAGAZINE 


UPDATE MAGAZINE 


ON 
programming to line 9000, and then the STOP 
forces line 9000 to execute, where the ON ERR 
is cleared with RESET. Then your first real 
programming can begin at line 20, 


ERR changes any existing ON ERR 


The next illustration is more complex. 
Here we use ON ERR almost as we would use <IF 
THEN>. Say you need to present on screen the 
"status of a data base" contained ina 
character array "0$()". A subscript error 
would occur if O$ were not dimensioned. Then 
you may want to know the actual Dimension of 
O$ array. Then you may also want to know the 
last "cell of O$" that contains data (not 
empty spaces). We will use ON ERR within 
counters to do that in the following 
subroutine. 


5 REM ** Use ON ERR to find 

the Dimension of a CHR$ Array. 

10 LET a=500: FOR n=] TO a: ON 
ERR GO TO 9000: LET b=LEN o$(n) 
: NEXT n 

20 CLS : STOP : REM **Line to 
begin your Basic programming. 
9000 ON ERR RESET : IF n<2 THEN 
PRINT "O$ is not Dimensioned." 
9005 IF n>2 THEN PRINT "The Dime 
nsion of O$ is> "; FLASH 1;"0$(" 
pnm1;"yne 
9010 IF n>l THEN FOR n=l TO n-1: 
ON ERR GO TO 9020: IF O$(n)(1)= 
"" THEN STOP 
9015 NEXT n 
9020 ON ERR RESET : IF n=] THEN 
PRINT "O$ has no data": STOP 
9025 ON ERR RESET : IF n>1 THEN 
PRINT "The last cell of O$ that 


has Data is "; FLASH 1;"0$("; 
n-1;")" 

9030 BEEP 3,16: LET n=a: GO TO 2 
0 


Each of this routine's actions to check 
the status of O$ serves the same purpose as 
an <IF THEN>, except that <IF THEN> cannot be 
used because it could result in a subscript 
error. So ON ERR allows us to check the 
status of a data base "whether the data base 
exists or not". It is important to note that 
at the end of the <ON ERR> Subroutine, the 
<ON ERR> condition is cleared (RESET). Then 
any subsequent error will be reported as 
normal with a "report code" at the screen 


OCTOBER 1988 


bottom. 


Lets do one more that is simpler. This time 
we will check the status of a simple string 
content (A$). A subscript error will occur 
if A$ has not been initialized in this 
example. <10 PRINT Ihe Data Base is "; LEN 
A$;" bytes">. The ON ERR routine would be: 


10 ON ERR GO TO 9000: PRINT "T 


be Data Base is ";LEN a$;" bytes POWER FRIAT “ate ultinate in Support for F our Epson= 
as : SLOP Compatible printer with Aerco, Tasaan, or Aed parallel 
+"t ON ERR GO TO 9010 interface, Featuress 1002 correct LLISTings t Recurate 


20 STOP : REM * The next line. 
9000 ON ERR RESET : CLS : LET a$ 
=""2 GO TO 10 
9010 ON ERR RESET : GO TO 20 


If A$ has not been initialized, the ON 
ERR trips to line 9000. But if A$ has data 
the LENgth of A$ is reported and the second 
ON ERR designates a new line to GO TO if an 
excor exists. Then SLOP triggers the GO TO 
9010. In either case <ON ERR RESET> clears 
the ON ERR programming. It might be worth 
noting that <ON ERR RESE> clears the error 
condition. 


But, <ON ERR RESEI> is ignored if the 
error condition has already been cleared. 
‘There is no adverse effect if <ON ERR RESEI> 
is encountered. The follow on programming in 
the line is executed whether or not the RESET 
actually reset an error or not. 


CORNUCOPIA 


, Myth. a horn of the goat that suckled 
Besar it would become full of whatever 
its owner wante 


GETCHA MAGNIFYIN GLASSES ouT! THIS 
ISSUE WILL BRING SOME ANNOUNCEMENTS ABOUT 
SOFTWARE THAT IS AVAILABLE, NOW DONT FUSS 
ABOUT THE SMALL PRINT. UPDATE IS DOIN 
THIS AS A PUBLIC SERVICE ANO TRYING TO GET 
AS MANY IN THAR AS POSSIBLE WHILE MAKING 
THE PRINT CLEAR NUFF TO SPY GLASS UP. THE 
MAIN THING IS TO SEND A SASE TO THE FOLKS 
AND GET BACK MORE INFO THAN WE CAN PUT IN 
A LITTLE COLUMN, - ED. 


15, 


TIPNATR MAGAZ TNR, 


McBrine Computer Products 


LIFE for the 182068 v. 2.0 - See John Conway’ 
tionary pattern-generatin ! 
fast a8 our original; includes 24 x 
96 x 128 in one program, plus saving 
improved keyboard routini 


aspect-ratio b/w screen dumps in 2 sizes and two resolu- 
tions (192 x 256 and G4-col., or 192 x 512) ¢ Text-only 
screen duaps (both resolutions) for speed $ Print to 
peony § Interrupt-driven print spooler & TOTALLY RELOC- 
for your printers send print code data.! 95 


RAW 512 ~ Works in both 192 x 256 and 192 x 512, b/w 
only. Draw (w/ OVER or 
Circle $ Invert $ Block 
screens 3 ways 8 Rotate 
a pixel at a tioe $ Flip 
4 ways t Convert back and forth 
tol. sodes in several ays 4 Use joystick or keyboard & 
Screen duaps from POWER 


SUPERTOOLS - Remkill # Header reader % 
60 10's and -SUB’s) § Variable duap t Progra tracer t 
Finder (find string in BASIC prograa) & All RELOCATABLE 
except tracer, part! 


TS2068 SOFTWARE! 


5 revolu- 
ase for Yonsei 3 times as 
2, 48x 64, and now 

and an 
9.95 


& loadin 


! 4 Specify interface and printer, (Will custosize 


INVERSE) $ Line $ Box & Square & 
invert $ Block erase € Merge 
(scroll) screen in 8 directions, 
left/right or upidown % Mirror 

etween S2-col. and 64~ 


RINTe sees IS 


(with 


Renuaber 


y relocatable.s.sssesee 


Postage paid on all orders $ Check or Honey Order 
SEND LSASE FOR FREE CATALOG! 


NcBrine Coaputer Products 
514 S. Jackson St. $ Salisbury, NC 28144 


‘SOFTWARE FOR THE QL 


It is time to start thinking about an ugly 
word, "TAXES". "But'' you say, "this is only 
October". Wal, the next issue of UPDATE may 
be too late to start worrying. This is an 
unpleasant way of introducing you to a DEALER 
of SPECIALIZED SOFTWARE for the QL. 

Peter Hale, of EMSOFT has announced the 
1968 version of "TAX-I-QL", which has a 
template for your PSION ABASCUS Software. The 
TAX-I-QL program produces most of the IRS form 
schedules that you need, plus common forms and 
worksheets, Your taxes are computed from 
input data on the proper forms. A 16 page 
manual guides you through the task of inputing 
data to compute your or someone else's taxes. 

Other EMSOFT titles are “MAILBAG", an 
address data base, "QLAND_LORD", which 
completely manages up to 99 property rental 
units and produces the required IRS Schedule 
E. Another is "TRUST_FUND" to manage your 
investments. 

All EMSOFT softwares require 256K of RAM 
extension and are available on 80 track Floppy 
for $19.95, or Micro Drive Cart for $21.95. 
Write for catalog: EMSOFT, PO Box 9763, 
Boston, MA 02114-8763 (tel 617 689 0830). 


OCTOBER 1988 


UPDATE MAGAZINE 


‘ARCHIVE Database 1s @ ponertul, 
flexible and unique program that 
wan suppiied am a “bonus" with 
mont new GL computer systens. : 
However, due to it's complexitity EMSOFT 
and lack of complete documentation, 
jerhape the most misunderstood software for the QL 
up until now. 


from Executive Workshop. : 
ARCHIVE MASTER explores all of the SOFTWARE CATALOG 


inner workings of ARCHIVE, 
and containg tips & tricks ta help 


you make ARCHIVE an even mare APPLICATIONS SOFTWARE for the QL 
powerful tool for personal use and 


Complete procedures are 


to set up an Inventory MAILBAG Address database you won't 
program, a Customer/Suppiier #11 believe. 256K+ 
an Accounts Recetvable/Invoicing TAX-I-QL Spreadsheet for IRS 334K+ 


QLAND_LORD Manages up to 99 units and 
does Sched E (fgeh> 256K+ 
TRUST_PUND Tracks investments and net 
worth (Soon) 256K+ 


Order your copy from: 


RNG ENTERPRISES 
sate renee acces Agents for ZX/TS SirtusWare 


oreson City, OR 97045 4K Vord processor with 
(303) 655-7484 TS 2040 lowercase printer driver 


Ordere, Catalogues and Dealer info: 
PROMISE LAND ELECTRONICS 
Dan Elliott, Owner 


ite Management Se Bacon on, 
P.O, Box 8763, Boston, MA 02114-8763 (617) 889-0830 


Servicing conputenszeo 
electronic equipment 


| __ COMPUTERS / MODULES 7 PRINTERS / HONITORS 


Ticinibyob? estas = caaisea’ “asin 
coleco ADA 11-99/44 comecdore 128 THE Z88 UNDER 2 LBS. 
REPAIRS / UPGRADES / NSSEMBLING / TESTING A Computer Without Compromise 

Weite for prices: 
Dan Elliott 
Route |, Box 117 
Cabool, MO 65689 


Ph. (314) 739-1712 evenings, Sunday - Thuraday. 
Ph. (417) 469-4571 weekends. 


od bd dl 
a ood a tad bad al “cad el 
etd tl tad Ob tad ed tab ed Md nd od 
wild “ed's vd a wd dd ed 


* Where isptops compromise on diapity and RAM capacity fo achieve portapiity, and 
dethiops seem t 


computer with the power to address 4 Mbytes of 
memory * A computer with 2 work-free dlepiay of 8 lines of 80charociers, an LCD creer 
‘which outéates afl others, and # unique dynemi page mep on screen + A computer with 
told-statepermenentatomge * Acomputer with advanced word-processing. spreadsheet 
land Ingenious lime- and date-menagament softwere buill-n + A compuler whlch Is 
completely set! contained, which gives you up fo 20 hours active computing from justd AA 
Datleries, yet which elke and eters to your 18M + A computer with « lul-aize keyboerd, ine 
package lass than the size of an 8x11, witha fota! weight of fees than2 Ibe. + The ZB8, A 


Computer without compromise, 

2.88 Computer sr00 SERIALIOPARALLELUF $4595 

Pete 2-08 iniwe “800 v2 mea. ane 8008 

Eoxnant pes DATABASE SW 1998 

3x EPROM nes CARRYING CASE 1985, 

Q_LInNK - 126K RAM e895 (2-88 MAGAZINE 500 

The Ultimate Qi Terminal ‘128K EPROM 9905 MODEM S/W 0995 
5232 LEAD : 1995 

US819.95 + 3.00 shipping S8SHIPPING ONZ-48 VISAMC Aceepled wind aurcharge C.O.D charge $2 25 here are any 


Cspecify medium] questions, (ete fo call or wee 


Hote Kedia, erosuetione SHARP'S, INC. =) 


Route 10 Box 459 
Vancouver BC Mechanicawta, VA 23111 41038 or meagre nariog 


Canada VSZ 179 (808) 746-1564 Burchegeoncresteoos 


UPDATE MAGAZINE 16 OCTOBER 1988 


§S 


a 
y e 

VENCOUVer Simclsir 
: Uses Sour 


was named #2 BEST CLUB 


UPDATE MAGAZINE 


YEAS 


The Vancouver Sinctair Users Group hes been in exislence since 
1982. We are a support group for the owners and users of all 
SINCLAIR end TIMEX computers. 


Pres:-Gerd Breunung, PH#(604) 931-5509 
‘V/Pres:- Glenn Read 

Sec- Harvey Taylor 

‘Treas. & N/L Edltor- Rod Humphreys 


Our membership dues are only $15.00/year and may be sent to 


the Treasurer: 


Rod Itumphreys 
2006 Elighview Place 
Port Moody, B.C, V3H INS. 


Members of VSUG receive « monthly Issue of ZXAppeal - our 
newsletter. 


ZXAppeal accepts sdvertising. Our “PREPAID rates are: 
$10.00 — full page 


$8.00—1/2 page 
$5.00 —1/4 page 


ZX-APPEAL ZXAppeal ts dintributed to approx 30 other SINCLAIR User 
Fi = i Ee Groups throughout North Amerion 1s well as overseas via the 
publication by Time Designs NETWORK. NETWORK correspondence may be directed to the 
panel. See re-print articles in Bulltor at tha above addrees- 
i. 7 5 : Copyright of all aiticles appesiing in ZXAppeal is retained by - 
thas “ieee... ed Garrat de uchel ing at ate 1s Une Googe 


aay peprint any axtiele appearing In ZXAppeal provided credit 
Is given to the suthor and VSUG. 


Reprinted from the May/88 issue of the Nite-Time 
News - the N/L of the Chicago Area T/S Users Group 


TELECOMMUNICATIONS ON THE QL 
By Michael Mitchell 
(Reprinted frou C21) 


The QL for all its pover and versitility is linited in 
teleconaunicating at 360 baud vithout a hardware link betveen 
(he serial port and the nodes. The following progran which 
appeared in the Data Expansion or the Oallas/Fort Vorth group 
vill get you on Line to a TNC ot a telephone at 346 (or even 


1200) baud. 

1 RERark 3090/1200 baud terninal 205 PRINT#O,,"Re-runfQuil! (+/@)° 

7 Retiark NIKE_TERA 21@) TF TNKEYS(-L)=**R® THEN RUR: ELSE STOP 

9 Retark Qeveloped by 220 OEFine PROCedure terainal 

4 Retark Hichael Mitebell 230 REPeat key_loop 

§ Renark attribution requested 240 as CODECANKEYS(15, 0) )88L8 

§ REMark SinclairéTisex User Group 250 IF aci3 THEN PRIAT 

7 AEKark Boston Coaputer Society 260° IF as? TREN SEEP 2468, 18 
180 WINDOW 465,204,6,8 27¢ FY) THEN PRINT CHRSCa) 
105 BORDER 1,0,7: L8e1z7 280 b=CODECINKEY#) 
118 CLS: POKE 169976, 255: cLste 296 IF b=248 THER EXIT key_loop 
126 PRENTE®, "Choose Baud! Hel20¢, L=90¢ 306 IF be285 THEN D=@ 

aan : 310 TF bed THEN NEXT key loop 

13@ IF INKEYS(-1)22*R" THEN BAUD 1208: ELSE BAVD 300 320 IF bel THEN b=13 i 


14@ CLSRO: OPENNS, SERZi 

PRINTED, ,“FS2QUITS, "ALT“C=°C","“G=BELL” 
166 REPEAT TERA 

17@ TEANIMAL; PRINTEO. 
180 EF ENKEYS(-1)= 


(58 


230° IF e208 THEN be? 
34¢ PRINTS, CHRSCD); 
350 END RePeat key_loop 
360 RETurn 

378- EMD DEFine Lerniaat 


Exit ty/nI* 
'Y* THEN EXIT tere 


190 END REPLera 


266 CLOSERS 


Save as NIEE_TERN bas 


17 


UPDATE MAGAZINE 


OCTOBER 1988 


OCTOBER 1988 


Reprinted from ZX-APPEA 


command. This has 8 

| arguments, all of which are 
obscure. The only way to 
produce something vaguely 
melodic is by trial and error. 


Sound Experimentor 
Rob Miles 

Unlike most home computers 
the QLhas a very limited noise 
making capability. What there 
is can only be dragged out by The following quickie allows 
using the enigmatic BEEP you to do exactly this. 


100 REMark ##*#* OL User -Beep experiment 

110 REMark #***# Rob Miles 1985 

120 duration=S000:pitch#100; pitch _2#0:grad_xevrgra 
d_y#0:wraped: fuzzy=O:random=s9 

130 REPeat sounder 

140 CLS 
150) set 
160 set 
17 set 
180 set 
19) sek 
200 set 


“Duration 2?" duration,2 


“Pitch (0..255) 7 
“Pitch 2 (0..255) ?” 
"Grad_x i-32768..15) 
“Grad _y (-8..7) ?",grad v.10 
“Wrap (0..32767) ?"“.wrap,12 

210 set "Fuzzy (0..15) ?",fuzzy.14 

B20 set "Random (0..15) ?",random,1& 

230 AT 18,0:PRINT "Beep “s:duration:","spitcny"."sp 
itch _2:","sgrad_xi","s;grad_ys","swrap:","sfuzzys"y 
“srandom 

240 BEEP duration,pitch,pitch_2,grad_x,grad_y,wrap 
yfuzzy,random 

250 dum$sINeEYs (-1) 

260 END REPeat sounder 
270 DEFine PROCedure set 
280 LOCal buf# 

290 AT position,O:PRINT names;" "svar 
300 AT position,O:PRINT names;" “5 
SiO INPUT buts 
320 ITF bufseo"" THEN varsbufs 


(-32768..32767) 


(name#,var position?) 


“svars" 


330 AT position,Oz:PRINT names” 

340 END DEFine set 

Easel Print an dump provided with EASEL. 
D Duncan All you need isan EPSON 


The following 7 liner shows’ 


compatible printer and the 


exactly how touse the graphics | EASEL cartridge in mdv2. 


120 MODE 8: PAPER 2:CLS 

130 FOR n=l TO 150 * 

149 INK 7:FILL 2:CIRCLE n,50,20,.5,-n/2 
150 INK 2:F1ILL O:CIRCLE n,50,20,.5,-n/2 
160 NEXT n ; 

170 REMark Dump to Epson printer 

180 a=RESPR(1024):LBYTES mdv2_gprint_prt,a 
19 CALL a: OPEN #3,serl:LIST #3:CLOSE #3 


18 
UPDATE MAGAZINE 


UPDATE MAGAZINE 


OCTOBER 1988 


OCTOBER 1988 


QL RAM extension 


UPDATE MAGAZINE 


Re-print from Z2X-APPEAL 


Sinclair's QL has as standard a 128 K 
RAM, which sounds like a lot in com- 
parison with most 64K machines. 
Unfortunately, the software writers, in 
the knowledge that there is more than 
enough memory, have been rather 
wasteful in their work, so that at the 
end of the day, there is not all that 
much more in the QL than in the 64 K 
machines. So, you need more 
memory. .- 

The accompanying circuit is an appli- 
cation of the TMS4500A as RAM 
extension for the 68008. This chip can 
drive a maximum of 128 K dynamic 
RAM and provides _ virtually 


everything: multiplexing _of the 
address lines, RAS, CAS, and 
REFRESH. 


The memory ICs are 64 K x 1 (128 or 
256 refresh are both permitted) and 
have a speed of better than 150 ns. 
Since the QL uses a clock frequency 
of 7.5 MHz rather than the normal 


8 MHz, such a RAM can run without 
wait cycles. An 8MHz CPU that 
regularly has to carry out a wait cycle 
is appreciably slower than a 7.5 MHz 
typel 

The 68000 family is provided with a 
data acknowledge input. As with 
other processors, the CPU places 
addresses and data onto the bus and 
indicates the validity with an address 
strobe and data strobe respectively. It 
continues to do so until the memory 
sends a DIACK signal. The present 
extension generates this signal with 
the aid of the LS156. Normally, this 
acknowledgment is given almost 
immediately, but it may happen that 


the 4500 is in the middle of a refresh. 
In that case, the CPU has to wait, 
which is arranged via the ready output 
(pin 2). 

To prevent the QL waiting forever 
when an address is read that has no 
memory, the DIACK is generated 
internally: this must, however, be 
disabled for addresses where the 
RAM extension is located, and for- 
tunately this can be done easily’ via 
DSMC. By making this logic high as. 
quickly as possible, the internal 
DTACK is cancelled. 

If you cannot get the 2N2905 transis- 
tor, you may use a 8S250, in which 
case resistor A, can be omitted and 


UPDATE MAGAZINE 


FR, should be replaced by a wire link. 
The circuit as shown is for the 128 K 
version. It is also possible to omit the 
eight RAMs connected to RAS1 and 
make a 64 K extension. Input A of the 
LS138 must then be connected to Aig 
and pin 11 instead of pin 13 must be 
used as CS. 

There is no 5 V supply available on the 
connector, but there is a9 V line. This 
can be reduced to 5 V by a standard 
7805. The current drawn depends on 
the types of RAM and will be 
200. ..300 mA. It is important to 
decouple the supply lines properly: 
each RAM IC and the 4500 require a 
100 n capacitor! 


eektor jly/august 


! 


EEECEZE gf 


Eorer? 
a92e28 


FEY = 6iC2 = 74LS74 
Io KtCS « 74LSI2 


OCTOBER 1988 


Re-print from ZX-APPEAL 


-the N/L of the Greater Cleveland Sinclair User Group 


Reprinted from the Jan/Feb issue of The Ramtop 


The Truap Card is siaply the most useful single addilion you 
caa get for the Sinclair QL. It combines a disk interface, 7628 
kilobyte RAN expansion, Toolkit If for SuperBASIC extensions, a 
screen dump, static and dynanic randisks and a dynamic printer 
bulfer, When you consider that even the lowest cost $12 Kb RAN 
expansion and a disk interface will cost al least $25¢, and 
Toolkit 11 costs $70, the Truap Card is a bargain at $309.95. 
The entire unit only sticks oul about three inches from the 
expansion port side of the QL, so it’s compact. I got mine from 
Curry Computer in Glendale, Arizona. 

The disk interface is pretty standard fare. It will allow 
you to store information on any combination of forty and eighty 
track drives, single sided or double sided, § 1/4" or 3 1/2”. 
The interface is fairly intelligent in that it will pick up on 
what format the disk was created in automatically. For example, 
if you have a 90 track, § 1/4" double sided drive, the interface 
will automatically read frou a 40 track, single sided disk. Of 
course, you can't wake 2 single sided drive read from a double 
sided disk, or pul a3 1/2" (loppy ina 5 1/4" drive since the 
inlerface can't change the liaitations of your disk drives. But 
if you have an 80 (rack $ 1/4" double sided drive, you'll be 
able to read any disk with the exception of 3 1/2" disks. The 
interface is only able to support lwo floppy disk drives. That's 
ils only shortconing as far as I'a concerned. 

The 768 Kb RAN expansion maxes out the QL. Added to the 128 
Kb that are built into the @L, you have a whopping 896 Kb of 
RAN. (While the 68¢68 CPU can address 1 Nb of RAM, 128 Kb of 
seaory in the QL are reserved for device addresses and ROMs.) 
You'll have rooa to run any prograa that has ever been written 
for the QL - probably several copies of the progras. This can be 
very helpful on a pultitasking machine like the QL. You'll also 
have plenty of room for raadisks too. 

The randisking capabilities of the Trump Card are really 
neat. The raadisks cone in vo varieties, static and dynasic. 
The difference is that the static randisk has to be formatted, 
alaost like a nicrodrive cartridge, and the dynamic raadisk can 
be created by just using the device nase. For example, to 
create a static randisk with two hundred, $12 byte blocks of 
space, just enter: 


FORMAT RANI 200 


A100 Kb section of memory vill be set aside for use by the 
aathine to use just like a microdrive or floppy disk, but will 
be located in fast RAM, To create a file in dynamic ram, it's 
dust as sisple as using the device's nane. To copy a file to 
raedisk raa3_ just enter: 


COPY dev filenane to RAN3_filenase 


A bES of aenory will be set aside in RAM as ran3_filenase. it 
will grow only large enough to hold the f1le(s) that have been 
send to ram3_. The difference between the static and the 
dynamic randisks is that the dynanic raadisks are aore likely to 
fragnent the aenory of the Ql. If the menory becoses 
sufficiently fragmented, it can degrade the perforsance of the 


UPDATE MAGAZINE 


UPDATE MAGAZINE 


The Trump Card 


by David Hoshdr 


aachine because the operating systen vill have to scrounge 
around to find blocks of neaory. Up to eight randisks can 
used with the Truap Card. One other neal feature of the raadis. 
is thab it can aake a very fast (age of everything on a 
aicrodrive. It vill copy everything on the sicrodrive in just 
about fifteen seconds. 

One of ay favorite features of the Trump Card fs its printer 
buffer. [t's a snap to use and can reably save tine. fn its 
sinplest form, you just use the device naae "PRI instead of 
"SER". What happens is that whatever you are sending to the 
printer is sent in its entirety to a buffer in RAN. The Qt then 
sends bytes to the printer as a background task. The advantage 
to this is that you can return aluost inwediately to an editing 
session if you senda file to “PRI* from The Editor or Quill. 
If you send a file to “SER* from an editor, you aust walt uatll 
the printer has finished printing before you can continue 
editing. Several files can be sent to the printer buffer and 
they will be sent in the proper order, There is a nethod of 
changing the davice that you vant lo have the ‘PRI* device use. 
Unless you have a parallel interface that doesn't use the serial 
port, it's hardly likely that you'll change it. 

The printer dump is pretty good. It supports about any Epson 
dot aatrix printer plus a few olher printers including the 
Brother HR4, Olivetti JPIOL, Selkosha GP-10A, GP-250K, and 
GP-700A, and the Canon P/1080A. You can specify what section of 
the screen te copy, and there Is a provision (or using a 
hotkey’ to copy any*sceeen from any prograa that you night be 
tuning. There's also documentation on hoy to open @ printer 
device and gel a printer dunp from prograas written in near 
any conputer Language ~ not just SuperASIC. I've tried it fron 
*C" and it does vork. 

Toolkit [1 is a collection of SuperASIC extensions. Sone of 
then are such wore useful than others, but on the vhole, they 
are very vorthvhile. To ae, sone of Toolkit's aost useful 
commands are "ed", a screen based SuperBASIC editor; “vcopy’, @ 
file copier that allows the use of wildcards; ‘wstal’, a 
vildcard directory command that also provides the file size and 
last update tine of (Iles; “spl{*, another printer buffer or 
rather ‘spooler thal vorks greal when used vith “prt*; and an 
ascortnent of jeb control comnands shat allow the user to 
aonitor, change the stalus of, and remove jobs that are the in 
the QL. Toolkit IL allows the use of default directories, has 
clock features including alarm clock(s), has iaproved SuperBASIC 
error handling, peraits the user to define “hotkeys”, altkey/ 
single key combinations to enter large strings or commonly used 
conmands, and has an easy way to repeat of the last command 
typed. Soue of the sore obscure comeands deal vith networking, 
direct unbuffered access to the various i/o devices, and senory 
aanagesent conaands. Al in all, its a pretty fapressive array 
of extensions to SuperBASIC. Once you start using the Toolkit 
TI commands, you'll never want te use a sachine vithout thee. 
fn additional benefit of having Toolkit [1 fitted on the Truap 
Card is that it leaves the ROM cartridge slot on the back of the 
QL free for other A0Xs. 

When you consider the features that the Trump Card offers, ~ 
feel that it {s an unbeatable conbination. 


2.0 


OCTOBER 1988 


OCTOBER 1988 


A MULTI_MANA 


Bob Hartung, 2416 N. Co. Line, Huntertown, IN 46748 


Since the final additions have been made to SAFE DOS, I 
have had several requests to write a "do-all" disk man- 
agement program that includes all these features, plus 
the file-indexing provided by DOS_DEX and AUTO_DEX. It 
seemed to me to be more practical to call these file- 
indexing routines and the disk-verity routine from the 
initial <LOAD) menu and from the MULTILMANAGER menu than 
to integrate them all into one program. 


To make it possible to utilize only one set of data for 
both DOS_DEX and AUTOLDEX, the original DOS_DEX was re- 
vised to save DATA c$() arrays instead of the entire 
routine with variables. This in turn required finding a 
way to preserve current variables whenever a new file 
directory was installed by the machine code routine, 1 
utilized the UDG file for this, eg: POKE USR "D and PEEK 
USR “d* which saves several bytes compared to using the 
usual PEEK/POKE syntax. The underlined "D* must be en- 
tered in GRAPHIC mode but not the lower-case “d". 


Some have wondered why the fast FOR/NEXT loop was not 
used in these routines. Actually, because of the various 
Key-stroke tests and item-numbering very little gain in 
display speed is obtained by this, but for anyone who is 
interested, the eighth REM byte may be changed to a 14 
to allow for a LET m=SGN PI definition before the DIM c¢ 
(VAL "178",VAL "20"). An easy way to do this with the 
original DOS_DEX listing is to insert a line 6 STOP. Key 
RUN, then POKE (at7),i4. Remove line 6, make the m 
definition between CLEAR and DIM c$() and revise all the 
m loops. 


Note that this fast FOR/NEXT definition is NOT provided 
in the revised DOS_DEX listing given below. To move the 
REM statement to line O if you are starting with the 
original listing, POKE 26711,0. (Refer to April UPDATE 
for poking the machine code to a REM line from scratch.) 
As given, the listing provides for a two-drive system, 
O and 1, at lines 1 and 522, which may be changed if you 
prefer to designate other drives. Omit these drive 
designations if you have a single-drive system. 


After the ERASE function appeared for $00S v2.52, 1 
found that the CHR$ 229 " RESTORE " test I had used in 
the original AUTO_DEX, VERI_DISK, and MARK_MOVE listings 
would not work after an ERASE had been used on a disk. 
Upon checking with John Oliger, I learned that a CHRS 
128 in the first byte of the first unused file di- 
rectory is what must be looked for. So, in all the ori- 
ginal listings, wherever " RESTORE * appears the respec- 
tive lines should be changed to IF CODE c$(n)) VAL "127" 
vee oP TF CODE c$¢k)) VAL "127"... or IF CODE c$(H)) VAL 
"127" or IF CODE c${m)) VAL "127"... 


UPDATE MAGAZINE 


ad 


UPDATE MAGAZINE. 


The MULTILMANAGER listing does not utilize the fast FOR/ 
NEXT loop either, so when entering the listing be sure 
that the eighth byte of the line L REM is an 8 and not @ 
14 as described previously if you are starting with a 
copy of the DOS.DEX machine code in line 1 REM. The 
program prompts should be self-explanatory--I HOPE! Note 
the warning given in the SDOS User Manual {p. 37a in the 
final edition) that the MOVE / command to transfer an 
entire disk must be used only with identical drives, 
otherwise the MARKMOVE method is the only safe way to 
do it. The MULTILMANAGER menu assumes that DOS_DEX 
resides in file zero and that AUTOLDEX and VERI_DISK are 
on the same disk, preferably with AUTO_DEX in file 1. 


These routines are available on an UPDATE issue disk. 


TWO-DRIVE DOS_DEX WITH DATA-SAVE 


OREM STEP 2#K\?? FOR ! &? CLOSE # 

1 POKE USR "D",SGN PIs LET /d-NOT PI 

2 CLEAR : DIM c$(VAL "178" ,VAL "28": LET t=VAL "10": 
LET s=SGN Pl: LET wests: LET o-NOT Pl: LET d=PEEK USR * 
Pa 

5 LET a=VAL "PEEK 23635+PEEK 23636%25445": LET c=INT 
(a/VAL "256"): POKE VAL "23549" ,VAL "195": POKE VAL "235 
58" a-(caVAL °256"): POKE VAL "23551",c: LET 4i=USR VAL 
"23549": LET rowew: LET col=VAL "9": LET ng=c$(VAL "178" 
+ 10 VAL '16") 

26 LET at 


+ DIM #$CVAL "6" ,w): LET #$(w)=" DATA a's 


LET #$(INT PI)=" DATA 3": LET 
L 'S")="ABS ": LET #$(VAL "6 
308 CLS 


PRINT AT 0,0;" Disk#";d-s; 
+ NEXT CAT SAVE LOAD (1)4"; 
ET c=INT (fiAAL "18"): ‘et difsINT (CFI 
VAL "18"-c) VAL "18"#VAL ".4"): LET loop=VAL "17": ON ER 
R GO TO VAL "700" 

410 LET q$="p*: LET ites: IF loop)=fi THEN LET loop=ti: 

60 TO VAL "425" 

415 FOR i=s TO cs FOR n=o TD loop: PRINT AT rowtm, tya$; 
AT rowtm,t-LEN STRS itsity" "yc8Cit, TO ths" ";#S(CODE c 
$Cit,VAL "11")45): LET itsites: NEXT m: 60 SUB VAL "586" 
2 NEXT is FOR i=s+s TO VAL "19": PRINT AT i, tja$s NEXT i 
+ IF NOT dif THEN GO TO VAL "418" 

425 IF £ THEN FOR m=o 10 dif-s: PRINT AT rowtm,t;a$jAT 
rowim, t-LEN STRE itjity" "gcSCit, TO tds" *p#S(CODE c¥(i 
t,VAL "J1")4s): LET itsittss NEXT m: IF loop)=#i THEN LE 
T #0 

427 IF NOT ¢ THEN LET it=fits 

438 60 SUB VAL "588": GO TO VAL "418° 

300 FOR L=o TO m-s: PRINT AT row+L,col-w;" "; INVERSE 
55°)" IF q$<)*" THEN FOR a=s 10 PItPI: NEXT a: LET q$=" 

518 LET a$=INKEY$: IF a$="" THEN LET q3="p* 
"318" 

528 IF CODE a$=VAL "13" THEN 60 TO VAL "688" 


ai to; *DOSDEX 


260 10 VAL 


OCTOBER 1988 


OCTOBER 1988 


522 IF a$="C* THEN LET /d=s: OPEN #w,"P*: CAT : CLOSE # 
w: LET /d0: 60 10 w 

524 IF a$="L" OR a$="1" THEN LOAD /STR$ d DATA c$(): LE 
T nd=c$VAL "178", TO VAL 16"): LET d=CODE c$(VAL 7177" 
d+ LET fi=CODE c$(VAL "177" ,w): GO TO VAL "388" 

526 IF a$=*S* THEN LET d=dés: POKE USR ‘D' yd: LET c#VA 
L '177",s)=CHRS ds LET c$(VAL "177" w)=CHRS fi: SAVE //S 
TR (d-s) DATA c$(): 60 TO w 

528 IF a$="N* THEN INPUT * INPUT NEXT #*;d: POKE USR *D 
".d: 60 10 w 

538 PRINT AT row+L ,col-w;" 

"RETURN 

608 ON ERR RESET « CLS : LET pos=it-m+L: LET d$=c3(pos, 

TO t): LET a=CODE c$(pos, tts): IF NOT a THEN LOAD /dt 

618 IF a=s THEN LOAD /d$ DATA n() 

626 IF a=w THEN LOAD /d$ DATA n$<) 

638 IF a=INT PI THEN LOAD /d$CODE 

648 IF a=wtw THEN LOAD /d$ABS 

656 IF a=VAL *5* THEN LOAD /dSVAL 

788 ON ERR RESET : PRINT SNOT PI; FLASH SGN PI;" FILE N 
OT FOUND ": PAUSE VAL "188": GO TO SON PI 


“: NEXT L: LET a$=" 


MULTI_MANAGER 


1 REM STEP 23K\?? FOR ! & CLOSE # 

2: 0N ERR RESET : CLEAR : DIM c$(VAL "178",VAL 28"): 
LET s=SGN Pl: DIM m$(VAL "177",s): LET f=VAL '4": LET t= 
VAL '18": LET o-NOT PIs LET a$="": INK VAL "7": PAPER oz 

BORDER o: CLS 

3 PRINT TAB t;"NULTI-MANAGER*‘/TAB £;"1 - Mark/nove ¢ 
iles";TAB #;"2 - Move ALL files*;TAB #;"3 ~ Re-nane file 
S";TAB £;"4 - Re-nane disk";TAB 4;"5 - ERASE files" ;TAB 
3° ~ VERI_DISK";TAB #;'7 - DOS.DEX";TAB #;"8 - AUTOLDE 
X";TAB £;"9 - SAVE MULTILMGR';TAB 4;°@ - LPRINT CAT *: P 
AUSE o: LET opt=CODE INKEY$-48: IF opt)? THEN GD 10 5 

10 IF opt= THEN LOAD /"VERI_DISK" 

15 IF opt=7 THEN LOAD 

26 IF opt=8 THEN LOAD /*AUTO_DEX" 

25 IF opt=9 THEN CLEAR : SAVE /*MULTILMGR" LINE 2: GO 
102 

38 IF opt=o THEN INPUT "Printer ON, then key ENTER ‘sa 
$: LET /p=o: OPEN #2,"P"; CAT : CLOSE #2: LET /p=t: 60 T 
02 

35 DIM #$(VAL "6" sts): LET £8(s4s)=" DATA n's LET £8¢ 
INT PID=" DATA $": LET f$(VAL "4")="CODE ": LET #$<VAL * 
S*)="ABS ": LET 4$(VAL *S")="VAL * 

48 INPUT "No. of SOURCE drive (8-3): “ssource’"No. of 
DESTINATION drive (8-3): "jdest: IF source=dest OR sourc 
2)3 OR dest)3 THEN GO TO 48 

45 LET s#="Place source disk in DRIVE "+STR¢ sourcet® 
& target disk in DRIVE '+STR$ dest: LET kS="KEY ENTER T 
or 


‘58 PRINT #ojst;" Key any CHR$ 10 CAT source d 
isk or Key ENTER TO NOT CAT ": LET /d=source: PAUSE o: 1 
F CODE INKEY$<>VAL *13" THEN OPEN 42,'P"; CAT : CLOSE #2 

60 IF opt=1 OR opt=2 THEN INPUT "*: PRINT AT 0, t;"FILE 
MOVE" #05" FORMAT target disk (drive #;dest;") — y/n?* 
+ PAUSE o: IF INKEY$="y" THEN INPUT " INPUT FORMAT + ¢ 
itle to arras"ja$: LET /d=dest: FORMAT /a$: LET /cesourc 


UPDATE MAGAZINE 


22 


UPDATE MAGAZINE 


e: OPEN 42,"P": CAT : CLOSE #2: 
PAUSE 308 
65 IF opt=2 THEN INPUT "Key ENTER for DEFAULT t (track 

s) OR enter no. of tracks to moves ";t4: IF t$<>"* THEN 
LET /t=VAL t$: MOVE /: LET /t=83: GO TO 2: REN Make t 
re-set defini tion=default 

70 IF opt=2 THEN INPUT (s$’k$);" MOVE ALL FILES "ja: 
LET /dsource: MOVE /: 60 T0 2 

75 IF opt=5 THEN CLS : PRINT AT 19,03"Mark ONLY last # 
ile to ERASE andrepeat for any others -- Key 7 to 

proceed": PAUSE o: IF INKEY$<)*7" THEN 60 TO 2 

88 CLS + IF opt=s THEN PRINT AT 20,5;"Key N to auto-ma 

TK ALL files": PAUSE o: LET a$=INKEY$: IF a$="N* THEN FO 

R nes 10 177: IF CODE c$(m)VAL "127" THEN GO TO 98 

85 IF opt=s AND a$="M" THEN LET md(m)=" ": NEXT mm: 60 
70 98 

98 CLS : PRINT Ho;"Key:SPACE to mark CHR$ to review® t 
@ revise "tk$+(" MOVE " AND opt=1)+(*RE-NANE™ AND opt=3) 
+¢" ERASE * AND opt=5) 

168 PRINT AT 20,5,,: LET a$=""s DRAW INK s;VAL "255",0: 

DRAW INK s30,VAL "175": DRAW INK s;VAL '-255",0: DRAW I 
NK 550,VAL "-175" 

208 LET a=VAL "PEEK 23435+PEEK 23636%256¢5": LET c=INT 
CaMVAL °256"): POKE VAL "23549" ,VAL "195": POKE VAL "235 
58*,a-(c#VAL "256"): POKE VAL °23551",c: LET fi5USR VAL 
"23549": LET rowests: LET col=VAL "9": LET n$=c$<VAL "17 
8", TO VAL "16") 

218 IF opt=4 THEN PRINT AT t,;"RE-NAME DISK in drive # 

*ssource: INPUT "OLD disk name: "s<n¢)“*NEW disk name; ” 
sb$: LET /desource: RESTORE /b$: GO 10 2 

300 IF n$(LEN n$)=" * THEN LET n$=n$¢ TO LEN n¢-s): 60 
TO VAL "388" 

320 PRINT AT 0,VAL '16"-(LEN n$/VAL '2"); OVER 5; INK V 
AL "5" y0$;AT o,VAL "8"; OVER 53" "5 PAPER 

C) 

405 LET L=o: LET f=s: LET c=INT (fiAAL 18"): LET dif= 
INT (Cfi/VAL "18"-c)3VAL "18"#VAL *.4"): LET loop=VAL "1 
a 

418 LET g$="p": LET ites: IF loopd=#i THEN LET loop=fi: 
G0 TO VAL *425" 

415 FOR i=s 10 cz FOR mo TO loop: PRINT AT rowtm,t-f3a 
S;AT rowtm,t-LEN STRE it;itin$ (it) scSCit, TO tds" "3 #9(C 
ODE c$Cit,VAL "£1")41): LET itsitts: NEXT m: 60 SUB VAL 
"500": NEXT i: FOR i=sts TO VAL "19": PRINT AT i,t-f;a$: 
NEXT i: IF NOT dif THEN 60 70 VAL "418" 

425 IF £ THEN FOR mo TO dif-s: PRINT AT rowim,t-¢ja$;A 
T rowtm,t-LEN STRS itzitim$(it) sc$Cit, TO ts" ";4$¢CODE 
C#Cit MAL "11")41)s LET iteitts: NEXT m: IF loop)=#i TH 
EN LET 450 
427 IF NOT # THEN LET it=tits 
436 60 SUB VAL "508": GO TO VAL "418" 

388 FOR L=o TO m-s: PRINT AT rowtL,col; INVERSE s;">": 
IF q$(>"* THEN FOR a=s TO PItPI: NEXT a: LET q$="" 

Si LET a$=INKEY$: IF a$="* THEN LET q$="p": GO TD VAL 
"sie" 

512 IF at="8" THEN LET n$(it-m+L)=" 's PRINT AT rawiL,c 
ol4SGN PI;" * 

S15 IF at=* * THEN LET n$(it-m#L)=" ‘2 PRINT AT row#L,c 
o+SGN PI; 

520 IF a$=CHR$ VAL '13" THEN GO TO VAL "558" 


OCTOBER 1988 


": NEXT L: LET ag=" 


‘530 PRINT AT rowtL col-s-s3* 
"RETURN 

558 GO TD 88#(opt=1)+786#( opt=3)+8883( opt=5) 

686 BORDER VAL "7": PAPER VAL ‘7": INK o: CLS + INPUT ¢ 
5$)/(k$) ;"start MOVE "ja$: CLS : PRINT FLASH s;" NOVING! 

DO NOT STOP till end * 

681 FOR M=s TO VAL "177" 

602 IF CODE c$<M))VAL "127" THEN 60 TO VAL *678° 

605 PRINT AT t,t;?File: "3a 

618 LET dé=c$(M, 10 t): LET a=CODE c$(M,VAL 11"): IFN 
OT a AND m$<M)=" " THEN MOVE /d$ TO dest 

615 IF a=s AND a$(M)=" " THEN MOVE /d$ DATA TO dest 

628 IF a=VAL "2" AND n$(M)=" * THEN MOVE /d$ DATA $ TO 
dest 

$38 IF asINT PI AND m$<(N)=" * THEN MOVE /dSCODE TO dest 
648 1F a-VAL "4" AND m$(M)=" " THEN MOVE /d$ABS TO dest 
650 IF a=VAL "5" AND m$(M)=" * THEN MOVE /dSVAL TO dest 
668 NEXT M 

676 PRINT AT 0,0,,AT t,t FLASH 15" MOVE OVER *: INPUT 
(h$);" NEXT MOVE '’" 7 FOR MENU "3a%: IF at="* THEN P 
APER o: BORDER o: INK 7: DIM m$(177,5): 60 10 98 

688 RUN 

708 REM Re-nane files 

702 LET o$="0id name: *: LET n$="New name: " 

785 FOR n=1 10 178 

788 IF CODE c${M))VAL "127" THEN 60 TO 9999 

716 LET dé=c$(H, TO t)s LET a=CODE c$(M,VAL "11"): IFN 
OT a AND a$(N)=" * THEN INPUT (o$;d$)’<n$) ;b$s RESTORE / 
d$ 10 bs 

715 IF ass AND m$(M)=" " THEN INPUT (o$;d$)“(n$) sb$: RE 
STORE /d$ DATA TO b$ 

720 IF a=sts AND m$(M)=" * THEN INPUT (o$c$)/ (n$) bs 
RESTORE /d$ DATA $ TO b$ 

730 IF a=INT PI AND m${M)="_" THEN INPUT (0$;d$)/(n$) jb 
‘4: RESTORE /d$CODE TO bs 

748 IF a=VAL °4" AND a$(M)=" * THEN INPUT (od 36)’ (n$) 3 
b$: RESTORE /d$ABS TO bs 

758 IF a=VAL "5" AND n${M)=" © THEN INPUT (0%; d$)/(n$); 
b$: RESTORE /dSVAL TO bs 

768 NEXT M 

778 GO T0 9999 

806 REM Erase files 

802 FOR N=1 70 178 

885 IF CODE c$<M))VAL "127" THEN 60 TO 9999 

810 LET dS=cS(M, TD t): LET a=CODE c$(N,VAL "11"): IFN 
OT a AND n$(M)=" * THEN ERASE /d$ 

15 IF a=s AND n$(M)=" * THEN ERASE /d$ DATA 

826 IF a=sts AND n$(M)=" * THEN ERASE /d$ DATA $ 

830 IF a=INT PI AND m$(M)=" * THEN ERASE /d$CODE 

840 IF a=VAL "4" AND m$(M)=" * THEN ERASE /d$A8S 

850 IF a=VAL "5" AND n$(M)=" * THEN ERASE /dSVAL 

868 NEXT M 
9999 CAT : PAUSE 500: GO TO 2 


23 
UPDATE MAGAZINE 


A Conglomeration of QL TIPS 
MUCHODAT 


A crazy title for a crazy situation. This 
is a little tip on FORMATTING MICRO DRIVE 
CARTRIDGES. While formatting a bunch of carts 
just received in the mail there were two that 
just wouldn't take a format. First, did you 
know that a title isn't necessary to format a 
mdv cart? format mdvi_ ENTER will do it. I 
never could see much value to a title that one 
never sees anyway. Anyway, after using a 
short title “dta", as: < format mdvl_dta >I 
had formatted 8 carts and there were two that 
were cranky. I tried about 5 formats on each 
to no avail. Now that exercise took about 2 
hours of fooling around. Then I said, "just 
one more time". This time I whacked in: 
format mdvi_muchodat ENTER. Lo and behold, 


the cartridge formatted perfectly! So I tried 
the other cranky one, with: format 
mdvi_muchodat. It formatted too! Now ain't 


that a crazy one! There is more. After that 
trick, I dug up three more miv carts that I 
couldn't format before and had stashed away. 
Two of the three formatted with muchodat as‘a 
title. There is something fishy bout this! 
Maybe theres something about a long title 
which makes the thing format? Beats me! But 
there's the tip for what it's worth. 


INITIALIZING TRUMP AND SPEED SCREEN 
IN BOOT PROGRAMS 


Right now I'm gonna discuss HOW TO EASILY 
MAKE YOUR MICRO DRIVE OR DISK DRIVE BOOT 
PROGRAMS INITIALIZE THE TRUMP CARD. If you 
dont have Trump, this won't be a dunnin you no 
good unless you just want to read about it. 

The Trump Card has a lot of additional 
Super Basic Tools to work for us. One is a 
routine to copy a WHOLE mdv cart, all programs 
instead of just one at a time. This can save 
about 30 minutes of copying single files. 
First though, lets ramble a bit. 

When we first turn on the computer it can 
see all of that additional RAM in the Trump 
card, but it dont know nothing about the new 
Super Basic commands that the Trump has tucked 
away in its own ROM chips. The whole bunch of 
Trump Card tools must be initialized once. 
Then after doing that, from then on all of the 
extra basic functions are available for use. 

‘ These Trump utilities must be initialized 
by a direct command of: TK2_EXT ENTER. Now 
if you allow the auto boot i 


OCTOBER 1988 


OCTOBER 1988 


from either Micro Drive or Disk Drive, you may 
not be given the opportunity to enter the 
TK2_EXT command. Some programs just wont let 
you break in to do that. 

So, the thing to do is to modify the boot 
program so that the first program line 
contains the command: TK2_EXT. 

Now if you also have SPEED SCREEN. you 
should also add its initialization command. 
That would be: < TK2_EXT: _SPEED 2 >. Then 
the BOOT program that has these commands in 
the first line of programming should be 
re-saved. After this, every time you load 
that particular mdv cart (or disk), the Trump 
utilities will be initialized and the Speed 
Screen will be turned on. 

Now you can go ahead and TRY to do that but 
RE-SAVING the boot program will give you a 
report at the bottom “already exists". So 
jets be a showin how to dun it- next in 1,2,3, 
order: 

1. RESET the QL 
installed, then hit Fi. 

2. Install a write enable tab on the QLWP 
cartridge, and install it in mdvl. 

3. Type; load mivl_boot ENTER. The boot 
program will load but wont auto run. 

4, Type; list ENTER. 

5. Type; edit 1 ENTER. 
listing will appear at screen bottom. 
read; < 1 CLEAR > 

6. Type onto the line to make it read; 
< 1 CLEAR: TK2_EXT: _SPEED 2 > Then touch 
ENTER, and the line should appear, as above, 
in the listing. 

7. ‘Type: tk2_ext ENTER. This 
initializes the Trump Card so that the next 
step will work. 

8. Type: save mdvi_boot ENTER. ‘This 
will execute one of the TRUMP routines to give 


“without a mdv cart" 


Now line 1 of the 
It will 


a "SAVE OVER" an existing program in micro 
drive. 

9. A prompt will appear, "OK to Overwrite? 
y/n?" Touch "y" 


10. Now your new boot program replaces the 
boot program in the mdv cart, andthe next 
time you use this cartridge the TRUMP and 
SPEED SCREEN are automatically initialized. 

You can do the same procedure for each of 
your miv cartridges. I advise that you make 
back up copies of all original mdv carts and 
do this modification on the Back Up copies. 

Later, in another issue, we will explore 
making a “Library BOOT Menu" utility to do the 
above Trump and Speed Screen initialization 
and then give a menu of MDVs or DISKs in your 
, Program library to select from. 


UPDATE MAGAZINE 


UPDATE MAGAZINE 


COPY A COMPLETE MICRO DRIVE CARTRIDGE 
With TRUMP 


QL Basic does not provide simple commands 
to COPY a complete mdv cartridge, only single 
files or programs. Later in this issue Bill 
Cable will present a utility to copy whole mdv 
cartridges WITHOUT Trump card or Sandy board 
utilities. This procedure is for using the 
Trump or Sandy Super Tools which are dormant 
when you first turn on the QL. 

First, reset the QL, and leave MDV 1 
vacant. When Fi is pressed. you'll get the 
flashing cursor, which means that you can type 
in program lines, or do Direct commands. Now 
we will do the steps with a few direct 
commands to enter into the QL. 

First though, INSTALL a formatted mdv cart 
in mdvl (with write enable tab installed). 
For safety sake, remove the write enable tab 
of the new qlwp boot cart that we just made 
(above), and we will copy it. Install it in 
mdv2. 

Type in the following direct commands, one 
after another, using ENTER after each: 

tk2_ext ENTER 

weopy mdv2_ TO mivl_ ENTER 

What happens next is a prompt with several 
choices. The prompt will read exactly as 
follows: 

MDV2_CLONE TO MDV1_CLONE Y/N/A/Q 

Touch "A" for ALL, and the system takes 
over and copies all files and programs from 
mdivi to miv2. 


Back to Business with the QL 


OK, if everything has worked out, you now 
have two copies of your new QLWP program which 
has the modified boot program that comes up 
and initializes TRUMP Super Tool Kit, and 
SPEED SCREEN. These two cartridges are in the 
microdrives and youre QL is in the BASIC mode. 

Now lets get the QUILL Word Processor up 
and running. Type: lrun mdvl_boot ENTER. Note 
that a while back we loaded the boot program 
to modify it by a command: < load mdvi_boot >, 
which just loaded in the boot program without 
letting it auto run. < lrun ndvi_boot > makes 
it load in and run. This time when the qlwp 
boot program loads in the TRUMP and SPEED 
SCREEN will be initialized. BUT, I am told 
that the QLWP program does not use TRUMP 
utilities. Never the less, you can use these 
procedures to modify boot programs that do use 
the TRUMP Super Tools. 


24 


OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


655 N. W. Territorial Rd. 
Canby, OR 97013 
July, 11 1988 


Late y 
THE PLOTTER is the newsletter of the 
COATS User Group, located in OREGON, and 
is one of the better Club publications, 
due largely by the expert writing of Dick 
Wagner and Rad Gowen, both of wham are 
Sinclair Activists. Thanks Dick! 


TS-2068 UP-DATE 
1317 Stratford Ave. 
Panama City, FL 32404 


Dear Bill: 


Here are two articles for UP-DATE magazine. The one on 
using LPRINT CHR$ was based on an inquiry to John Oliger. I was 
having difficulty in conveniently using OUT 127 with lots of 
DATA in printer graphics. He suggested trying these two pokes 
which he hadn't used (he thought they should work). Well, they 
did the trick and now I can copy programs direct from source as 
fax as LPRINT CHR$ is concerned. He suggested sending you the 
idea if it did work. ‘ 


The second article is from a suggestion in an EPSON printer 
manual for duplicating DATA in printer graphics. Because the 
loop for repeating numbers is tied to the numbers produced by 
READ, the same loop can be used for several sets of repeating 
numbers. AS an example, the DATA in line 90 can be extended from 
the 60 to 120 dots by duplicating what is there. Line 20 would 
be changed from "60" to "120". This should produce a line twice 
as long by duplicating the original, and just by making these 2 
line changes. 


Se £2 oi mere Pie 5 as 
SE SORES a a 


Dick F. Wagner 
Editor, THE PLOTTER 


LPRINT CHR$ WITH OLIGER PRINTER DRIVER 


Readers who have programmed in BASIC with the OLIGER 
printer driver use the LET/P=0 command to send data to their 
large printer. This command works fine for LPRINTing text and 
messages but not so good for printer codes. When a programmer 
wishes to use printer codes the accepted method is to go direct 
through port 127 by use of the OUT command. For reference see 
the OLIGER print driver manual and parts of Bill Jones's Smart 
Text program plus UP-DATE (Printer Programming, 1988) 


There is a way that follows conventional programming 
methods such as LPRINT CHR$ n where "n" is a character code 
number, or using a series of CHR$s to make up a printer code 
such as LPRINT CHR$ 27; CHR$ 52 (EPSON Italics ON). See your 
printer manual for codes used by your printer. Probably examples 
are also displayed in your manual. 


According to John Oliger the procedure for using LPRINT 


25 
UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


CHR$ n is as follows: start with LET/P=O and then make these 2 
pokes, 23300,60 and 23001,3 in the immediate mode. Then program 
accordingly, possibly try examples from your printer manual. 
When RUN the programs should perform properly. This change will 
not permit LLIST to be used so just use LET/P=0 and make a 
LLIST. Make the pokes again to set up the program to RUN. What 
happens is that these two pokes turn off the BASIC TOKEN 
erunching. 


If the reader's printer provides a HEX dump capability then 
a simple test of a printer driver is easily made. With LET/P=0, 
enter this one line program: . 


10 FOR N=0 TO 255: LPRINT CHR$ N;:NEXT N 


Set up the printer for HEX dump (see manual) and RUN. My printer 
puts 20 HEX numbers to a line, from 00 to FF, many incorrect. If 
the last line does not print just press the ON LINE button to 
empty the printer buffer. Now run the same test after the 2 
pokes have been made. Now I get a perfect 00 to FF print-out. 
This shows that the printer driver will correctly send all code 
numbers to the printer. 


GRAPHICS PRINTER TRICK 


Readers who have tried any extensive printer graphics 
Programming (not a screen dump) probably got discouraged with 
the amount of data required to key in. Consider that a printed 
figure covering 1"x1" requires 60 head pin definitions per line 
and 9 lines are required, making 540 definitions. Remember that 
a space also must be defined. 


Often there are repetative groups of code numbers of the 
same values. The following procedure will print those duplicate 
codes--in the DATA statement use negative numbers that denote 
the number of repeats and the next number is the code to be 
repeated. Then program the READ command to send negative numbers 
to a loop that prints the required number of duplicate codes, 
then returns to the next DATA number. 


An example will illustrate this. Let's make a 1 pin line 
with up-turned ends 8 pins high, total length of 60 dots. 


10 LPRINT 

20 LET AS=CHR$ 27+"K"+CHRS$ 60+CHR$ 0 
30 LPRINT A$; 

40 FOR X=1 TO 60 

50 READ N: IF N<O THEN GO TO 100 
60 LPRINT CHR$ N; 

70 NEXT X 

90 DATA 255,-58,1,255 

100 READ R: FOR J=1 TO -N 

110 LPRINT CHR$ R;: NEXT J 

120 LET X=X-N-1: GO TO 70 


The reader must adapt this to the printer driver program being 

used and the printer code for standard density 60 dots per inch 
or similar. For Oliger systems do not use A$ as OUT 127,n must 

be used for LPRINT CHR$ n (delete line 30). 


26 
UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 


O'lhe 
ESN 
ompouter 
O Society 


One Center Plaza 
Boston, MA 02108 


UPDATE MAGAZINE 


REPORT RARE Re OM RS eo rie rare ae PR eee ee ety ime eo ge vgie eon fe Pe 


BOSTON COMPUTER SOCIETY x 
Hewsletter of the BoSTUG (Sinclair/Timex User Group) x 


x 
x 


Vol 7 No 5 


The Sinclair/Tisexr Newsletter is 
the official publication of the 
Sinclair/Timex User Group of the 
Boston Computer Society (BoSTUG). 


Annual membership for New England 
residents is $35.00 (otherwise 
$28.00) per year. Subscription 
to BCS/Update and one other news~ 
letter is included without cost. 


The newsletter has an exchange 
policy with Sinclair/Timex User 
groups willing ta reciprocate. 
Please forward exchange issues to 
the editor pro tem, Peter Hale, 
P.O. Box 8763, Boston, MA 02114. 


Unless copywritten by the author, 
articles are in the public dom- 
ain. Attribution is requested. 


BoSTUG is a sub group of the Boston Computer Society. 


produces this nice 18 page newsletter, 
QL and moderately in support of 


the Sinclair 


is not to be confused with UPDATE Magazine, 


“UPDATE COMPUTER SYSTEMS", computer consultants. 
Two articles from the BoSTUG Newsletter are re-printed to sample 
the quality and depth of coverage in this nice newsletter. ed. 


UPDATE MAGAZINE 


27 


BoSTUG 


which is heavily in support of 


t : the TS-2068. 
BCS/UPDATE" is a large Magazine published by BCS for its members and 


our name deriving from 


OCTOBER 1988 


OCTOBER 1988 


REPRINT FROM: 


ABOUT TOOLKIT 11 


Are there any QL owners who if 
they don't have TK2, have not 
been strongly advised to get it? 


Anyone who has keystroked COPY 
mdv2_fred to mdvi_fred a zillion 
times to backup media finds WCOPY 
worth the price alone. 


Certainly, the Toolkit II manual 
is a forbidding document. There 
is no tutorial; just a list of 
keyword extensions with limited 
and sometimes incomplete direc- 
tions on their use. 

Thera is not even a clue as to 


where to get your feet wet, so a 
sampling of easy and immediately 
useful keywords is offered here. 


Toolkit Il extensions that are 
easy and that you will enjay are: 
ALARM, CLOCK, DLIST, BX, EXTRAS, 
EW, FREE_MEM, RENAME, SPL, SPLF, 
STAT, TK2_EXT, VIEW, WCOPY, WDIR, 
WMON, WREN, WTV, and WSTAT. 


All can be explored from direct 
mode and you can’t get in (much) 
trouble (except for difficulty 
understanding the manual). 


But a lot of people are missing 
out on three excellent features 
incorporated in Toolkit I1; ED, 


ALTKEY and last line recall. 


line recall <ALT><ENTER> is 
usually useful in direct mode tn 
SuperBASIC. It recalls all char— 
acters since the last ENTER. Done 
several times in sequence, it 
recalle several lines at a time. 
Once recalled, Lines can be edit- 
ed or reexecuted. It also works 
from Psion programs, as a quick 
and dirty copy, up to Peion's 22 
character buffer limit. 


Last 


ALTKEY is worth exploring. It is 
buried in the back of the manual 
in Section 21 and little is said 
about it. Essentially it permits 
writing macros. The syntax is 
ALTKEY ‘x’,’...." where x is any 

one of the QL's character set. 
In the example, x is lower case. 


BoSTUG Sinclair/Timex Newsletter 


UPDATE MAGAZINE 


BoSTUG Sinclair/Timex Newsletter 


fiverything after ‘x’, and within 

the quotes happens when the con- 
bination <ALT><x? is pressed, If 

<BNTER>? is desired for executing, 

the ALTKEY definition can end 
with ,** (comma and two single 

quotes), which is <ENTER>. 


How to use ALTKEY is not concep- 
tually easy. One use is ALTKEY 
‘l', CHR$ (240)&'1lf1pi_setup’,''. 
This line is incorporated in my 
Quill ‘boot. The same disk alsa 
has the file ‘setup_doo’ on it. 


Setup_doc is my style sheet for 


correspondence. It has my return 
address, the date and salutation 


position and no footer. I don't 
reorganize Quill's default page 
each time | write a letter; 1 
press <ALT><1>. 


Programmers assign ALTKEYs to oft 
used keywords (without an ENTER) 
to emulate single-stroke keywords 
popular in earlier Sinclair's. A 
beot with a batch of user defined 
ALTKEYs anda final line HEW is 
run at the start of programming. 
NEW clears SuperBASIC memory (but 
not the ALTKEY definitions.) 


Finally, there is ED that invokes 

a full screen SuperBASIC editor. 

The cursor keys move the cursor 
over the full screen. They can be 
combined with ALT and SHIFT for 
special effects. It is easier to 

edit existing programs with Over- 
writing (SHIFT F4, as in Quill). 


SuperBASIC programs often have a 
number of duplicate or near dup-~ 
licate lines. Editing a line 

number replicates the line ata 
new position and retains the old 
line. If slight modification is 

required, overwriting speeds any 
needed changes. 


For fun, slip in ED as a line 


anywhere in a SuperBASIC program. 
Run it. Predictably, when the 
program reaches ED, it halts and 
goes into full screen edit mode, 
Now press <ESC>, What happens? 


Peter Hale 


September/Octaber 1988 


28 


UPDATE MAGAZINE 


OCTOBER 1988 


OCTOBER 1988 


QUILL FILESAVER 


More than once, my QL has mangled 
a long Quill document through 
poor disk or microdrive Ll/0. 
Either I removed the cartridge 
before closing a file, or the QL 
tried to write part of the file 
to a non-existent track on the 
disk or the QL crashed. The 
result is the same - any attempt 
to reload the file into Quill 
results in a File 1/0 Incomplete 
error, disasterous if you forgot 
to periodically backup your work. 


One such encounter forced me to 
take a deeper look at how Quill 
files are stored. 1 could do 
this with “BGET", which reads a 
Single byte from a file. Most 
disk systems and taolkits have 
this command. 


l_used BGET to print out the 
Qhumeric value of every character 
dn my partially-corrupted Quill 
file tao learn its structure and 
so recover at least part of it. 


The most striking discovery was 
that Quill files use the Bull 
character ([CHR$(0)] in place of 

Carriage Returns. I also noticed 
that a good portion of the Quill 
file is formatting information, 

stored tawards the end of the 
file. It is mostly strange con- 
trol characters. All the text was 

Present, but some formatting 
information was cut off during 
the incomplete SAVE. 


1 tried renaming the file with a 
LIS extension and importing 
that, but Quill didn't like the 

NUL's and stopped importing the 


file at the first occurance of a 
NUL. 
Sa 1 had to figure out a way ta 


extract the ‘text’ portion of my 
document and re-write it as 
straight ASCII. BPUT came to the 
rescue and the result is the 
listing below. In a nutshell, 
the program reads a byte from the 
damaged file in channel #5. If it 
is a null, it's changed to a 
carriage return [CHR$(13)]; 1f a 


BoSTUG Sinclair/Timex Newsletter 


UPDATE MAGAZINE 


UPDATE MAGAZINE 


REPRINT FROM: BoSTUG Sinclair/Timex Newsletter 


contro) character ess than 
SPACE (CHR$(G2)] but not CR), it 

is changed to a space. Otherwise, 
it is a regular ASCII character 
and left as is. 


The now ASCII character is writ- 
ten ta the new file in channel#6. 
The character is also printed to 
the screen so you can watch as it 
goes through the file. Then the 
loop repeats ior the next 
character until there are no more 
characters to read. What is left 
is a plain text file which can be 
imported into Quill. 1 was able 
to recover a 15 page document 
this way, though it took about 
ten minutes ta do so. 


Hopefully you will never need to 
use this utility, but if you do, 
here it is. 


- Jim Rodlin 
10 REMark "“Filesaver" 
20 REMark Corrupted Quill file 


30 REMark recovery utility 
40 REMark by Jim Rodlin 

50 REMark Requires Toolkit 
60 REMark commands BGET & BPUT 
80 REMark In the public domain 
90 REMark Attribution requested 
100 FLP_EXT: REMark or TK2_EXT 


enable extended command set 


110 CLS 

120 OPEN#S, “mdv2_MYFILE_doc” 
: REMark file ta save 

130 OPEN_NEW#6, "mdvi_BBS_1lis” 
+ REMark output ASCII file 

140 REFeat loop 

150 =BGET#5, a%: REMark get byte 
and put in a% 

160 IF a% =0 THEN LET a% =13 
REMark convert null ta CR 

165 REMark replace all control 
chars with SPACE 

470) «OIF a% <G2 AND a% <>13 THEN 
LET a% =32 

180 REMark print character to 
screen for visual feedback 

190 IF a% =13 THEN PRINT 
: REMark Carriage Return 

200 «IF a% <713 THEN FRINT 
CHRS$ (a%); 

210 BPUT#6, a%: REMark write 
ASCII byte to _LIS file 

220 END REFeat loop 

2.9 September/October 10988 


OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


me fl een 


By: Bill Jones 


Here we go! Being a beginner myself with the QL, I ama bit intimidated by the 
thought of writing an instructional series. I hope that those of you who are 
better qualified will Koreckt my mistooks, and broaden upon the subjects covered. 
Then the subscribers will benefit from your inputs. So dont think that I will be 
offended by feed back that tells me when I'm wrong and gives mre detail to the 
coverage. We want a interchange of programming information. IF there are 8000 QL 
users, THEN 4000 KNOW SOMETHING that I dont. THEN IF half contribute, it is. sure 
that at least 4000 will gain more knowledge. Thats what its all about. 


This will be a continuing feature article. It will grow in complexity as the 
scribe's proficiency grows. Right now, the scribe has about 30-40 hours experience 
operating the QL, so it isn't likely that you'll find anything that is “above your 
head" in these first few episodes. In fact I am strevin and strovin to make the 
QLWP program zap this stuffin onto the paper. WHICH makes a good starting point. 
Lets get started now covering--— 


HOW TO DO IT WITH QLWP 


IF you have dug around as I have between the four sections in the back of the QL 
manual, you know that these books were not written in a1, 2,3, sequence that lets 
you get right to it. I believe that, for this discussion, we should start with the 
printer itself. If you have a SERIAL printer, just connect the cable directly to 
the SER 1 or SER 2 port at the back of the QL. Lets use the SER 1 port. But if 
you have a PARALLEL printer you will need one of the Parallel interfaces connected 
between the printer and the QL SER 1 port. I was most successful by setting the 
printer to its start up initialization set up, ie, no margins set, no LINE FEED, no 
auto PAGE end, and ELITE 96 character lines, and 66 lines per page.. These are 
“dip switch" settings on the printer itself. Later we can come back to the printer . 
switch setting if we need to. Generally, most users do not know enough about their 
printer, and there is a need to study the printer manual to know how to set it up 
for the best printing. 


Now that we "think" that the printer is set up right, lets turn it off. Turn ON 
the QL and keep Micro drive #1 VACANT until the Fl Key has given you the blinking 
cursor. Then INSERT a blank MDV cart in either of the slots and FORMAT it. Now 
that may be a problem for the first time user. Most of the MDV carts in use are the 
ones that have had the “write enable" tab removed. If you are accustomed to using 
disk drives, the MDV cart is "write protected" by REMOVING the tab that covers the 
little triangular notch in the right hand edge of the cart "as you are looking down 
on the label". In order to FORMAT the MDV you need to cut a thin piece of tape to 
stick over the notch. I find that the best tape to use is a piece of Disk Write 
Protect tab, cut across with scissors to be just slightly thinner than the width of 
the shoulder of the MDV cartridge. This way, the tab is not rubbed off when it is 
inserted in the micro drive. Once the “write enable tab" is installed, the mdv cart 
will FORMAT, with the command: FORMAT mdvl_buwp Bu indicates that it will be a 
Back Up cartridge for QLWP. Format the mdv cart TWICE, using the same procedure. 
From what I'm told the mdv cart will be more reliable if it is formatted twice. 

Next, we want to make a back up copy of the Word Processor cartridge. Do that 
by installing the original cart in mdvl and the one just formatted in mdv2. Type 
dir mdvl_ and touch ENTER. The directory of the master cart in mdvl will appear 
on screen. Then, using the directory as a guide, copy each file listed in the 
directorj using: COPY mivl_name TO MDV2_ After all files have been copied stash 
away your master Word Processor cartridge for safe keeping. 

Now we are readyto go to work. Now install your back up cart you just made into 
the MDV1 slot. Next we will setup the software for your printer. 


30 
UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


Taking a little break from the details, the first page did print, so I'm 
becomming an expert fast! Well, not quite, as I really didn't want that page number 
and I dont know how to kill it. Anyway, for the most part it does prove that I've 
been the route that I'm about to tell you about, which is-- 


HOW TO CONFIGURE FOR PRINTER 


Now what we're gonna do is to CHANGE part of the QLWP software to make the word 
processor print with the type of printer that you use. Dont worry about making a 
mistake, as nothing you do will hurt the software, and besides, you are working with 
a back up copy. Your equipment status should be: NO micro drive cart installed-- A 
RESET QL, Fl touched to give the blinking cursor-- PRINTER OFF. When you have that 
status, then: INSTALL the QLWP back up cart in drive 1. Type; drun 
mdvl_install_bas ENTER. Wait until the first menu comes on screen, and THEN: 
follow the prompts to select the PRINTER TYPE. Usually this is all that is 
required. But I had to be different! I use a DAISY printer that has the Diablo 
compatable command set. So, after quiting this install_bas program, the printer 
would kick up 6 lines before starting to print, print 3/4 of a page and then print 
the page number. Now tell me WHO wants that kind of a page of print? SO, back to 
<lrun mdvl_install_bas> again- and again- and again. Next day, I called ole Bill 
Cable and got straightened out. Now this mought help you too: "READ THE DURN QUILL 
SECTION"- all of it! The durn install_bas program was set up right after all. ‘The 
problem was in my not understanding how to trapsy about in the WP menus to DESIGN 
the page. So, what I'm telling you is that the procedure of setting up for your 
printer should work out OK. When finished, what you have done is to bring up YOUR 
PRINTER's command set as the one which will boot in when you use QLWP and select 
PRINT at the word processor menu. After you select your printer type, the mdv runs 
and re-records your printer set up so that it boots in for printing. Later, you can 
go back and lrun the install program again to set up for a different printer. Now 
that we have that done, lets create a document with the word processor program--- 


WORKING WITH QLWP 


Insert you back up copy of QLWP in mdvl, and RESET. When the QL has reset, Fl 
starts the program loading and you have time to pour a cupa while waiting. Now 
there isn't any point in draging this out, as the WP works very well with its menus 
guide you. The important part is to use F3 to get the COMMAND menu and set up 
the page with D-Design and M-Margins. Likely you wont need to use H-Header, as this 
is a repeating header for every page. To doa single header, I find it best!ype 
the header and back up with the arrow key to its start, then pad in spaces to center 
the header. Then run the cursor to the end of the header and use ENTER to shift to 
the next line. When ready to print, F3 again gets the COMMAND MENU, where P-PRINT 
will start the printing sequence. Now we will move on to another way to use the 
QLWP program for doing controlled LISTings of programs.-- 


USE QLWP for LLISTings 


Some folks never need a paper listing of software. But others need to do that 
quite often. One can get a LLIST in the direct mode (cursor flashing) by: <OPEN 
#4,serlc:BAUD 9600:LIST>. This makes LIST go to the printer. BUT- The listing 
splatters across the whole page, 96 characters wide if thats what the printer is set 
at. Most printers wont let you confine print with printer settings to less than 64 
characters per line. I particularily need to LLIST at controllable line width for 
printing listings in UPDATE. So, back to the phone for answers. Ole Mark, at 
Sharps Inc. does more than just sell QL stuff. He's a programmer too, and‘he told 
me how to do it with the QLWP software. Here it tis--- 

Load the QLWP program with Fl. Then use F3 to get the Command menu. Punch 
O-Other, then I-Import. Next, the prompt appears to key ina MDV file to load. 
Input <mdvl_name> and the next prompt asks for "by line?". Touch ENTER at this 
point and the program lines load into the Word Processor as a ASCII file. 


3 
UPDATE MAGAZINE i OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


After a short while the entire program listing will load into the Word Processor 
and the program lines will appear almost like you would see them in the Basic mode. 
But the listing is TEXT, and can be formatted as text. Hit F3 for the Command menu, 
then D-Design, then M-Margins, and set the margins for whatever line length you want 
to print the program listing. Then F3 again to P-PRINT. Thats all there is to it! 
AND alla time I was digging through the manual trying to find a RAM address to POKE 
to get shorter lines in a LLIST. This is a better way after all.. 

By the time the next issue rolls in maybe Iwill have learned a bit more to 
present in this QL BEGINNER COURSE. If you have things that you are bothered about 
with the QL, but are ashamed to ask, this is the forum for discussing them. I'll 
even let you remain anonymous. See you next issue! 


A QL PRINTING PRIMER 


Here is a little tutorial for setting up the QL to print to paper "without a word 
processor". It does not do much but print un-formatted lines to the left margins as 
set at the printer. But, it will demonstrate how to make a printer print with 
simple programming. You can key the lines in and operate it with either RUN or GO 
TO 5. Line 10 gets the INPUT typing routine at line 200. Then when finished, ENTER 
executes the RETurn at line 220. Then line 20-28 presents a menu of options. When 
<1> PRINT is elected, the typing data is printed, and the program repeats to get the 
next typing burst. 

The tutorial about “output to the printer" begins at line 50, which executes when 
<l> PRINT is elected. <OPEN #4,serlc> OPENS the CHANNEL to the printer “through 
Serial Port 1". Then the “baud rate" is set to 9600. Line 60 then uses <PRINT 
#4,a$> to print the data. <print "#4"> directs the print to the "channel that was 
opened", Look at the lines 70 and 80 which executes the other two print options, 
for "line space" and "LIST to Paper". 

When <5> QUIT is elected, line 300 executes, and is important to note. When a 
CHANNEL has been OPENED, Channel #4 in this case, the channel should be CLOSED when 
finished. There are many CHANNELS to route the computer's tasks though. Each 
channel should be OPEN only for the task to be accomplished, and if the channel is 
not CLOSED afterward then the next task to be accomplished could be sent to the 
wrong OPEN channel. x 


The Print Tutor Listing The programming at left could be 


condensed a lot by chaining the 
5 CLS different programing commands 
10 G SUB 200 using a colon between. For 
20 PRINT "Options:"\\"<l> Print the data"\ example, all of the lines from line 
22 PRINT "<2> Line Space"\ 5 through 30 could be inclosed in 
24 PRINT "<3> INPUT New Data"\ one longer line of programming. I 
26 PRINT "<4> LLIST"\ used extra lines in order to make 
28 PRINT "<5> QUIT"\ the tutorial easier to decipher. 
30 INPUT a:CLS Also, the IF THEN conditionals 
40 IF a=3 THEN GO TO 10 used are in "simplese" basic syntax 
50 OPEN #4,serlc:BAUD 9600 which the QL reacts to nicely. You 
60 IF a=] THEN PRINT #4,a$ can use almost all of the simple 
70 IF a=2 THEN PRINT #4,\ Basic syntax of the older computers 
80 IF a=4 THEN LIST #4 with the QL, which makes it a very 
90 IF a=5 THEN GO TO 300 easy computer to adapt to. We will 
100 CLS:GO TO 20 ease into QL Basic and Super Basic 
200 PRINT "Type the Data"\\ as this series continues. 
210 INPUT a$ 
220 CLS:RETURN 
300 CLOSE #4:STOP 3.2 


UPDATE MAGAZINE OCTOBER 1988 


UPDATE MAGAZINE 


OCTOBER 1988 


SINC - LINK 
Voi. 6 No.4 JULY ~ AUGUST ‘88 


SINC-LINK 15 A PUBLICATION OF 

icon ee HIGHLY RECOMMENDED! 

C ; f 

TERR, COPIES OF THE NEUSLETTER | user c1uo ie one af the most 
.5@ EACH FOR NON-MEMBERS, active clubs in North America. 

CLUB MEMBERS RECEIVE A FREE COPY | [0.0% UPaaze’s best weitere are 

AS PART OF THE $28.08 ANNUAL | 200 mitcnel! and George Chambers. 


SINC LINK, the club newsletter 
HEHBERSHIP FEE. is an excellent source of 
information. The Toronto User 
Group has many USA members and 


welcome more. 


NEWSLETTERS ARE EXCHANGED, FREE ONTARIO GL USERS TAKE NOTE! 
OF CHARGE, WITH OTHER TINEX- | Join the Club and form a special 


interest group ; 
: SINCLAIR USER GROUPS, Sinclair Gpecial interest Club! . 
Club membership and participation 
is the best route ta take for 
continuing to learn more about 


your computer. -ed. 
au MATERIAL ae, PUBLIC COMAIN 


TORONTO TIMEX - SINCLAIR USERS CLUB 
P.O. Box 7274 Stn. A Toronto, Ont., MSW IX9 
Canedo 


GDothER fiye Club 
Dear Bills = 


Iam sorry for the delay. The heat is getting to me and I have been Lax 
in my duties. Enclosed is @ little discription of our group as you asked 
for. ely 


Our group is called Sinclair Milwaukee Users Group also called SNUG. He 
were established in 1983 and work with all forms of the Sinclair computers 
and their clones. He have ZX80's, ZX81's, TS1500°s, TS2068's, Spectrun’s 
and Spectrum enulater’s, and the Ql. He are in contact with 22 other Users 
Groups around the U.S. and Canada and swap newsletters with thea, 


He meet once a month on the second Hednesday of the month, our next 
meeting is July 13, 1988, The place we meet is in Elm Grove Hisconson, a 
suburb af Milwaukee, and called Yerbrics’ Inn. He chose them because of the 
hall size and centralized location. 


Our membership fee is #15 for the individual or #20 for a family. This 
entitles you to library privileges, you must check them out in person, our 
newsletter, you can pick this up at the meeting our Supply us with SASE’s 
and I will mail them to you. The newsletter has a Sdbscription rate of #10 


per year, this includes mailing. 

Siachain (Ul WAUKEE , 
SER GhouP ~ A hive 
Biach § 


Hope to see you at a meeting. 
Bill Heberlein, YP sHUuG, 
5052 N. 91st Street, 
Milwaukee, HI 53225 


3 . 
UPDATE MAGAZINE ee OCTOBER 1988 


UPDATE MAGAZINE 


HSCRIPT VERSION 5.3 FOR LARKEN DOS 
SOFTWARE REVIEW by Bob Mitchell 

. e30g14 
My long-awaited copy of Version 5.3 of MSCRIPT by Jack Dohany finally arrived early in June of this year. Because | 
had told him that [ was using a non-standard, earlier version of the Larken DOS; he sent the program on cassette, to be 
on the safe side. I was delighted to find that a back-up on disk was readily made by selecting DISK on the main menu and 
then pressing B. 


Documentation was on paper and the only other program on the cassette was the LCODES text which contains all the 
various codes that a wide printer | would recognize. I understand that the disk version contains all the docunentation as 
tiles. 


The main problem that I had had with ay earlier version MSST was one of the printer dropping characters every now and 
then. This problem has been resolved, I am happy to report. 


The cost to se for the new version was US$25 which included $5 for mailing and handling. The program is so such better 
than the earlier version that I was happy to pay the price. 


Here are sone features of MSCRIPT (not necessarily in order of importance) that make the program quite attractive and 
aake we a convert! 


te Finding and Changing any string of up to 30 characters is simple and very fast. 
2. Headers and Footers (titles at the top and bottoa of each page of a document) are easy to add. 


3. Moving, copying, deleting, saving and loading blocks of text is fast, easy and very professional, with markers used 
to identify the block to be worked on. 


4, The cursor moves very fast across the page. There is also a tab feature that is very useful when developing tables 
and lists. 


5. When making a back-up copy, it is optional to include the text as part of the back-up! ideal for eaking a version 
that includes, say, a letter head for page 1. If you want to make a LAREN AUTOSTART copy) this can be done by using 
(CLEAR 4SD00!RANDONIZE USR 1C2sFUN>. You have to CLEAR a higher address if you include any text in your save. . 


b. View Nemory allows you to PEEK and POKE the contents of memory} this starts at the LCODE file which is handy if you 
want to inspect and change any printer control codes. 


7. The nape of the text you are working on appears on the home menu, I find this to be very usaful particularly as 1 
hap from text to text fairly often. It let's ne know where J am at the sonent. The GIVE NAME command allows you to 
assign or change the name of your text at any tine. 


8. There is an alternative fattened character set that makes reading the text on my aonitor auch easier. The use of 
different screen colours is restricted by the 752068 hardware and I have settled on white ink on black paper as the best 
for ne. 


%. The disk catalogue in the selected drive can be added to the text in progress. The drive is selected by entering a 
nuaber from 0 to 3 (ie, 1 to 4 respectively). The LARKEN Randisk is selected with <4) and this can be accomodated 
easily by changing lines 131 and 132 in the BASIC with no addition to the BASIC length. 


10. The new LARKEN Version 3 EPROM uses the token MOVE to call a file rename routine and this was easily added to the 
hone menu by a few lines at line 220 in the BASIC, Watch gut for an out of meory report here. I had to sacrifice lines 
420 to 440 (VERIFY, which I seldom use anyway) to make rooa for this. 


11. 1 like being able to put coment lines in the text to serve as reminders to ae and that won't 3 appear in the 
pelataite: Tab settings are one wanele a5 you have to resat these whenever they default to their normal settings. 


One thing that could be better! It's too easy to stutter in rore spaces than wanted vhen entering text. iovevers on 
right Justification, these extra spaces are not really noticed. 


HSCRIPT is a totally different word processor from TASWORD which I have used for some tine and which has its devotees. 
But there are so pany advantages to MSCRIPT that 1 have bequn to switch over to it for my word processing tasks. Once 
you gat used to the protocol and press the right keys, MSCRIPT is just as easy to use as TASWORD and a lot acre 
rewarding. I recommend the purchase of MSCRIPT Version 5.3 and look forward to experiaenting with Version & when it 
coaes along. Hurry upy Jack! 3h 


UPDATE MAGAZINE OCTOBER 1988 


REPRINT FROM SYNC LINK 


UPDATE MAGAZINE 


2068 


LARKEN RAMdisk for the TS 2068 
by George Chambers 


Qur last newsletter carried an article by Greg 
Lloyd, describing a RAMdisk unit that he had recently 
obtained from Larken Electronics, 1 have recently 
purchased one of these units, and should 1ike to tell 
something of my prograsming expertences with it. 

Firstly, when I got it I could not figure out how to 
use it effectively. After all, while it can contain a 
total of 256K memory, mine only came equipped with 64K 
and there really ts a limit as to how many program one 
can hold with that. Which programs should I place on 
it, ete? 

On top of that I already had a second drive on my 
system that seemed to be only used when 1 wanted to 
copy @ program, Of what use was another bit of 
expensive memory. And it 1s expensive, 1f compared to 
the memory capacity of a disk. A disk will hold 360K 
and costs about 65 cents. A 32K SRAM chip costs about 
$15, And the RAMdisk is really a solid-state drive, 
not a memory expansion to your computer. That is to 
say, you still have oniy 38K of memory in your 
computer to play with, The RAMdisk memory {s not 
bankswitched in to the computer; it it loaded into the 
computer memory the same as from a conventional drive. 


However, despite this unpromising prospect 1 have 
found a very fascinating application, What I have done 
{s to place 58 of my most useful utility files on a 
single disk (I call {t my OMNIBUS disk), and installed 
it in my second drive. 

1 then placed the several menus (the menu program 
Misting in the Nov/Dec '87 Issue of this newsletter) 
required to access these files into the RAMdisk. In 
the beginning I had one AUTOSTART (menu) program, and 
several other menu programs {.@, menu.81, menu.B2, 
etc.,that | called up from that AUTOSTART menu. I 
found that presently 1 had used 7 of the 12 available 
tracks on my RAMdisk; horribly extravagant. (The 
RAMdIsk uses the same tracks formt of the other 
drives) 

It was then suggested to me that I combine several 
menus into one program. This made sense, because as {t 
was I was storing a program of about 1500 bytes onto a 
5090-byte track. The other bytes, 3410 of them, were 
lost. 1 started combining menus onto a single program, 
and now 1 have 5 manu screens combined. tore will 
follow, 1 use a menu option to move to the various 
menus. 

Most of the programs themselves are on the OMNIBUS 
disk, installed more or jess permanently fn the second 
drive, and are called up from the menus obtained from 
the RAMdIsk. Where a program 4s called up that resides 
on other than the OMNIBUS disk, the menu displays a 
request onscreen for that disk to be placed into the 
first drive, PAUSE's until you indicate 'ready' by a 
keypress, then loads from that drive. 


SINC-LINK 


UPDATE MAGAZINE 


Larry Kenny has revised his 00S EPROM, yiv'ng a new 
command which has proved very useful in = this 
application. The format of this command is PRINT USR 
100: NEW (or PRINT 443 NEW). This provides a ‘warm' 
AUTOSTART capability to the 00S. 

Luse it this way. 1 have modified many of my 
programs to provide an exit from the program. The exit 
normally would take you to a STOP command. To use 
this new 00S command | terminate a program to the 
following line sequence. 

LINE 9000 PRINT #4: GOTO 4: PRINT #4: NEW 
The ‘GOTO 4" points the 00S toward the RAMdisk and the 
“NEW initiates an AUTOSTART routine in the RAMdIsk to 
bring up the ‘menu’ program. The effect is to bring up 
the OMNIBUS disk menu at any time from within a 
Program with a single keystroke. Note that this new 
command 1s for all drives; it's use 1s not confined to 
the RAMI sk. 

This new 00S command also offers another 
interesting programming possibility. Invoking the 
"PRINT #4: NEW* command will bring up an AUTOSTART 
program in the drive to which {t is pointed. It does 
this without shutting down the computer. Thus, any M/C _ 
program presently in the computer (so long as it is 
not overwritten by the AUTOSTART program) remains in 
place awaiting use. 


larry advises that this command is in Yersion 2 of 
his 00S EPROM. Sefore you all rush out and ask him for 
it, I suggest that you wait until he has had a chance 
to incorporate some other features into the 00S, that 
he speaks of doing, Improvements to the printer 
driver, and changes to the NMI routine, [ have heard: 
among others, 


Now, I could hardly reconmend that everyone go out. 
buy one of these RANdisks. Sut what I have found 1s 
that for those persons with two drives it certtanly 
maximises the use of the second drive. And it most 
assuredly reduces the number of keystrokes required to 
operate the Larken system, plus reducing the number of 
drive startups by possibly a half. And of course it is 


silent and speedy, when compared to a regular drive! 
sraneneenennten 


Newsletters need news! 


Write and tell us what 
you know! 
Anything (almost!) 


will be printed 


35 
OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


REPRINT FROM SYNC LINEVVORIAL (TS2068 & SPECTRUM) 


CHANNELS & STREAMS - A TUTORIAL 

Sam 
Let’s delve into the mysterious realm of channels = and 
streams and those two odd tokens OPEN # and CLOSE i. 
These two comands are extremely powerful and have 
many uses and yet there is nothing at all about them 
in the TSZ0S8 User Manual except to say that “these 
and other comands like FORMAT, MOVE, CAT etc will be 
used with future peripherals". Well, by now we know 
that many of these are indeed used with the disk drive 
interfaces. But, long before DOSs came along, it was 
apparent that OPEN # and CLOSE # did have a role! to 
play with the basic machine. Much of this has to do 
with the opening and closing of channels and streams 
with respect to the TSZ2040- printer and the TS2068 
keyboard and screen. : 


The TSZ068 communicates with peripheral devices with 
the aid oF the channel information area which lies 
stween the system variables and the BASIC program, 
s area starts at address 24680 and ends at 267008, 
Just short of the program area which startsy normalluy 
at 26710. A shurt program given in the listing below 
will pring out all the information on channels and 
streams. Part af its output is shown below as Table 1 
(with some explanatory notes); the code has been 
divided into S-byte blocks, , each block representing 
one channel. ; 


TALE 1 — CHANNEL INFORMATION AREA 
Address Chan Value Notes 


dst 2 bytes = ROM add.12 (Ou ‘ 
(5#2596+0) 2ROM PRINT routine. i 
Znd 2 bytes = ROM add. 3086d ‘ 
(L2e2964+14)3 get inpul key. 

Code for lekter "KK" 


26489 
26690 


24693 ist 2 bytes same as for "KK". 
2O694 

26695 2nd 2 bytes = add. 45433 

26476 input routine called. 

26597 Cude for letter " 

26498 This bleck is reserved for 
BO679 use by the computer and 

26700 sis, not available to the 

26701 “user. : z 

26702 Cove for’ letter 


“1st 2 bytes also point to 
1280d: ROM Print routine, 
36 
(c)1988 Bob Mitchell ‘ 
UPDATE MAGAZINE Page # 1 of 5 OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


TUTORIAL (TS2048 & SPECTRUM) 
REPRINT FROM SYNC LINK 


26705 L9L Input routine called; 
26706 17 (see explanation below) 
26707 80 Code for letter " 


When the TS2068 is switched an, 21 bytes are copied 
from address 4522d in the ROM to the channel info area 
where they may be altered by the user. 


In the fourth bl (Channel "P"), addresses 26703 and 
26704 point to the ROM PRINT routine at 1280d (0500h). 
These are often changed to point elsewhere (eg. in the 
Aerco preode, they are changed to <5> and <251> 
respectively which equates to 64261 (the start of the 
prcode routine). Once these two bytes have been 
changed, all printing will go via Channel "P" to the 
<preade> routine. To get back to the TS2040, these two 
bytes must be restored to <O> and <5> respectively. 


In Spectrum these 21 start-up bytes are in ROM 555id 
and are copied to the Spectrum channel info area which 
resides at 23734 to 23754. Addresses 23749 and 23750 


equate to 26703 and 26704 in the TS2066. 


Summing up, each block represents a channel and 
contains five bytes: the first two represent the 
address of the called output routine (normally in the 
ROM); bytes 3 and 4 represent the address of the 
called input routine} finally, byte 5 is the code of 
the character representing the channel. 


Channel “S" stands for "screen" and handles the output 
to the monitor or TV display. Channel "P" stands for 
the "printer" and handles output to this peripheral. 
Channel "K" stands for the keyboard but handles both 
output and inputy it inputs from the keyboard but also 
outputs to the lower part of the screen display. 


When the PRINT comand is used, the output goes 
through channel “S" to the main (upper) part of the 
screen. By careful use of the OPEN # command, the 
output can be made to go through any other channel. 


Streams are associated with a specified channel and 
there are 16 streams available (0 to 15). Using the 
PRINT command normally sends the output through stream 
"2" to channel "S". To’ make the PRINT command go to 
channel "P", it is only necessary to open stream 2 to 
channel "P*. This is done by the command <OPEN 
H#2y"P">. Note that this instruction has two arguments 


the former first tells the computer which stream is 


37 


, (21988 Bob Mitchell } 
UPDATE MAGAZINE Page # 2 of 5 OCTOBER 1988 ' 


REPRINT FROM SYNC LINK 
TUTORIAL (TS2068 & SPECTRUM) 


being altered and the’ latter identifies the single 
character of the channel to which the stream is to be 
directed. 


If you type <OVEN #2,"P"> then <PRINT “test" tPAUSE OF, 
the PAUSE O command prevents the input routine being 
called which would print an error report (bytes at 
addresses 26703 and 26706 call the ROM routine at 
address 4543). Without the PAUSE 0, the printing would 
be immediately erased. 


At switch on, only four of the 16 streams are opened. 
Stream O points to channel "K" 
Stream 1 points to channel "K* 
Stream 2 points to channel "S* 
Stream 3 points ta channel "P® 


When a stream has been opened to a different channel, 
it will continue to do what it has been directed to do 
until told otherwise. A channel may be clesed by the 
command <CLOSE #n>. where n is any number from O to 15. 
Also, a channel may be closed by pointing the stream 
to its start up channel. For example, if stream 3 has 
been opened tu channel "S", it may be closed by the 
command <CLOSE #3,"P". This example would send all 
LPRINT and LLIST commands to the screen until it is 
told to revert to normal. This is particularly useful 
to the programmer during the debugging process to look 
at the results of the LPRINT commands on the screen 
rather than waste printer paper. 


When a stream has been opened to the printer, the edit 
line (lower screen area) is unaffected} in fact, any 

| PRINT #0 or PRINT #1 commands will continue to display 
on the lower screen. Use of the hash symbol SH 
followed by a ¢0> or <1> changes the print stream to 
the lower screen. PRINT, LIST; INPUT and INKEY$ may 
all have their output affected this ways their default 
value is stream 2 (the upper screen); that is to Sadr 
PRINT #2 is the same as PRINT and PRINT #3 is the sane 
as LPRINT; etc. ; 


Type in the following listing and save it} then use ait 
anytime you want toa check the current status of 
channels and streams. 


3 REM This program works in 
either TSZ2068 or Spectrum 
5 REM ssescesesseeecesesees 


& REM Use GO TO 10 for info 
on channels & streams. 
7 REM Use GO TO 200 to PEEK 


: 38 


UPDATE MAG 
er ad (61988 Bob Mitchell OCTOBER 1988 
Psroe # tnt & $ 


OCTOBER 1988 UPDATE MAGAZINE 


REPRINT FROM SYNC Link YTORTAL (TS2068 & SrEeT RUN 


stream info in system 
variables. Use GO TO 220 to 
PEEK channel info area up to 
start of program area. 
9 REM = Same 
10 LET a=PEEK 23631+256*PEEK 2 tstart of CHANS 
3632! LET bea from sys variables « 
20 IF PEEK a=128 THEN GO TO 70 ast byte in table 
30. PRINT "CHANNEL "“§CHR® (PEEK channel letter 
Lat4)) . 
AO PRINT "Output Address=";PEE foutput address 
K atQ5o#PEEK (atl) 7 
50 PRINT “Input Address=";PEEK input address. 
Cat2)+2546"PEEK Cat3) i 
60 PRINT ? LET aeatS? GO TO 20 
70 FOR a=23574 TO 23605 STEP 2 
QO PRINT "Stream "3(a723574)/2 tstream number. 
STAB 105 
90 IF PEEK at256*PEEK (atl)=0 sclosed channel 
THEN PRINT "CLOSED": NEXT a? STO 
P 


100 LET c=(PEEK atZS6*PEEK (atl channel letter 
V)+b4+3 

110 PRINT "points to Channel 
CHR PEEK ct NEXT a 

120 STOP 

130 RANDOMIZE USR 100: SAVE "ch SLarken SAVE routine 
ans-Bi" LINE 10 


140 STOP 

200 FOR i=23568 TO 23605: PRINT ‘addresses of 
i,PEEK it NEXT i channels attached 
210 STOP to streams. 

220 LET prog=PEEK 23635+256*PEE ‘start of prog area 
K 23638 : 


230 FOR i=b TO prog-ii PRINT i, texamines chan 
PEEK i;TAB 20;CHRS PEEK i AND PE info area up to 
EK i>=32 AND PEEK i¢=90: NEXT i start of prog area 


The FOR...NEXT loop in line 200 will display a copy of 
38 bytes in the system variables area containing the 
address of channels attached to streams. Each stream 
holds two bytes which accounts for 32 bytes and the 
extra 6 are used by the internal editor and automatic 
listing routines. Each two bytes contains a relative 
displacement, from the byte before the channel info 
area, to the channel that is pointed to. A zero means 
that the stream is closed. — 


For Larken users, note the extensive use of OPEN # in 
the extended BASIC commands available and particularily 
note that when any or all windows or large printer 
channels are opened, 38 bytes (total) of memory are . 


3.9 


: (¢)1988 Bob Mitchell 
UPDATE MAGAZINE Page # 4 of 5 OCTOBER 1988 


R-1988 UPDATE MAGAZINE 


REPRINT FROM SYNC LINK TUTORIAL (TS2068 & SPECTRUM) 


This changes 


added to the channel information area, 
can 


the location of the start of the program area and 
cause a problem if there is machine code in a REM 
statement in the first program line. (This problem can 
be avoided by PEEKING the start of the prog area and 
then using this value plus 5 as the call address for 
the machine code routine in the REM statement; eg: 
KLET x=PEEK 23635+256"PEEK 23436: LET xext51 RANDOMIZE 
USR x>). In these 38 bytes which you can examine by 
using line 220 of the listing, you will find that new 
channels have been set up at the beginning of what was 


the start of the program area. 


An interesting and illuminating exercise is suggested | 
for Larken users? 

-*LOAD “Chans.Bi">,ie, the listing above. 

.Open some of the Larken extended BASIC channels. 
.Try <RANDOMIZE USR 100! OPEN #4,"dd">. 

«Then <PRINT #4: OPEN #5,"wO">. ) These will 

«Then <PRINT #4! OPEN #6,"wi">. ) open three 

«Then <PRINT #42 OPEN #7,"w2">. } windows. 

wNow use the listing above to look at what has 
happened. Try doing the same thing with the Spectrum 
emulator in place, if you have one. 


I?ll leave the heavy thinking to you at this point. 
What I have written will pose some other questions and 
I look forward to someone else expanding on this theme i 


in some future issue. 


(¢)19G8 Bob Mitchell 
Page #5 of 5 


FEIT IIIT III IEE 


* 
* felrieletetelele} 222222222 XX xx * 
* eaaaaaeaaa 22222222 xX xx * 
* Qa aa Zz XX XX * 
* aa aq 2Z XXX * 
* aa ae zz xXx * 
* cele} aa aa Zz XX XX * 
* rieletrieteleicleley 22222222 XX xx * 
* feleleleieieleley 222222222 xX xx * 
* aa * 
* * 


2H EHH HIE 


The Journal Covering Amateur Radio & Sinclair Computers 
2X-88; Micro-Ace; ZX81; T/S 1000, 150@, & 2068; QL 
Alex. F. Burr, KSXY, Publisher 
2825 O’Donnell Drive 
Las Cruces, New Mexico 
$9661 


SUBSCRIPTION $15 PER YEAR. SAMPLE ISSUE FOR SELF ADDRESSED 
STAMPED ENVELOPE WITH $6.45 POSTAGE. 
—— SSS 
UPDATE MAGAZINE 40 OCTOBER 1988 


UPDATE MAGAZINE 


TELECOMPUTING, WHERE WE STAND 
By Bill Jones WD4FJI 


Back in 1948 Television came into the homes of America. Almost all people thought 
of TV as an adjunct of RADIO. Radio was THE INDUSIRY, and TV was thought of as a part 
of it. Of course, TV became its own industry. This bit of history is used to make the 
point that TELECOMPUTING is destined to become a giant industry of its own. Another 
illustration: If one looks down upon a ant bed, one sees much activity, but all seem 
to be going in different unorganized directions. Telecomputing is kinda like that 
today. Telecomuting is now riding piggy back on two existing industries, Computers and 
Telephone. But a break-out is about to happen. Amateur Radio Operators are leading 
the way. Most think of "HANS" as guys pecking away sending and receiving "di dah dits" 
and making not so funny interfering lines on TV screens. 

But many HAMS now are operating computers and are involved in a form of 
Telecomputing called PACKET. The principle involved in Packet is the use of Radio and 
Computers to Communicate. Most of us are aware of Modem Communications with computers 
via telephone. I became acutely aware when I received a shocking telephone bill a 
month after getting my modem. PACKET bypasses the telephone, and provides direct 
computer link up via radio. 

NO TELEPHONE BILLS!! But, as with any fledging industry, there are problems, and 
there are "turf fights". AST wants the business and would like to confine 
Telecomputing to the use of their telephone network. As more computers with modems 
come on line, local telephone organizations want to develop means of charging for 
service. The HAMS have a good thing going with Packet, but the Federal Communications 
Commission regulates Amateur Radio and confines their activities to "Hobby Use", no 
commerical operation allowed. Hams can operate with Packet, but ordinary folks who are 
not licensed radio operators cannot operate Packet. It's against the law. 

During the latter five years of the 1960's, the Computer population skyrocketed from 
less than 1% of homes having computers to more than 40% by 1968, and will be up to 60% 
before 1990. The natural progression is for families to take advantage of the 
computer's inherent ability to communicate with the surrounding World. To accomplish 
this step there must be a breaking out and away from the confines of the telephone 
industry and the Federal regulation of communications, which is now the most limiting 
factor. Of course, there must be an organized way to accommodate the tens of millions 
of people who will be using computers to communicate. Otherwise there would be chaos, 
everyone trying to communicate, but interfering with each other. This is the next step 
that must take place between Government and industry planners. 

I would invision the decade of the 1990s bringing in a coordinated "starter plan" 
with Federal regulations licensing telecomputing via satellite, similiar to Packet, 
plus UHF repeater nets, and local cable service. As the industry builds, and 
commerical applications expand (profit potential), we will see the Television industry 
wanting to get into the act, and TV will become a valuable partner to Telecomputing. 
Each TV channel can accommodate quite a number of discrete side band channels for 
computer communications without interfering with their regular video programming. One 
could just subscribe to the service and plug their computer modem into the TV set to 
receive a daily schedule of services. 

In the meantime, awaiting the break through, and the concerted organization needed 
to thrust telecomputing into tens of millions of homes, a few intrepreneur HAMS are 
taking the forefront and developing Packet. Bob Diggs is one of these leaders. His 
letter and article that follow reveal some technical problems being experienced and the 
level of current telecomputing technology with the Sinclair QL, and all computers as 
well.. Read between the lines to discern Bob's personal dedication to the advancement 
of telecomputing technology. The following sketch depicts where the industry stands at 
present and the paths for expansion during the next 5-10 years. 


pseseUT 


"1990 99S" EXPAAS Lia AE igo 
oe MIs Ex datnaaa Ap 
a CM 


dese Bett one 


18 BAD Lomaaste 
Paajermaray sauce AY 


OCTOBER 1988 


UPDATE MAGAZINE 


Bob Diggs, KV3Q 
North East, Maryland 
August 22, 1988 


To: Bill Jones, WD4FJI 
Alex Burr, KSXY 


Subject: QL on Packet 


This memo ig addressed to both of you so that you both will know what is going on 
here and can help me get some information to those HAMS who may be interested. I 
started a draft of an article for QZX which somehow got lost in a micro drive with a 
message saying, "file incomplete". I had made a print-out but didn’t feel up to 
re-doing it because of hot weather and too many other things todo. Also, among the 
three of us, I dont think that Packet is'all it's supposed to be. There is too much 
ORM (interference, ed) from re-trys of hams trying to download a bulletin board list of 
messages or nodes that it becomes too difficult to connect for a QLO (discrete two way 
interchange, ed) or to get a gang together for an unproto bull session. Never the 
less, I do use my QL for Packet, using MIKE_TERM almost all of the time. I am, however 
getting ahead of myself. 

Alex, what started this memo was a note from Bill saying that he saw my interest in 
QL Packet in QZX and wanted to publish the details in UPDATE, a magazine that I am not 
familiar with because it has been a publication for the TS-2068, which I dont have. My 
Ham interest says to write for QZX, but my public spirit says to write for anyone who 
is interested because there are so few out there on QL Packet. 

First, do I have anything new or worth publishing? Enclosed is a printout of what I 
lost in the file. Writing this stuff is new to me so I'd like to know if I'm on the 
right track. Second, I dont know the format to present this material for either 
publication. I belong to C.A.T.S. and each newsletter clearly states how articles 
should be prepared for publication. 

Third, I hope that you can both use it, rather than have it go to one and not reach 
some guy or gal who could use it. I dont know much about computers and programs and 
such, but if I satkt the ball rolling, someone who knows more can make things better. 
So Bill, this is my answer to card. I hope that it helps. Let me know if you are 
interested in what I started and I'll try to put it together. 


Best regards, 
Bob Diggs, KV3Q 


Comment by the editor; Bob's address is left off to protect his privacy. Letters 
to him mailed to UPDATE will be forwarded. QZX is a monthly newsletter for Ham Radio 
operators. QZX, 2025 O'Donnell Drive, Las Cruces, NM 88001. Subscription is $15.00 
per year. Those of you who are interested in more about Telecomputing and Packet are 
requested to send in an interest card. The amount of response will dictate the amount 


of future coverage. Bob's article follows. 


PUTTING THE QL TO PACKET 
Bob, KV3Q 


As Alex noted in the June issue of QZX, I'm 
trying and can now say that I'm using ay QL on 
Packet. It wasn't easy but I finally made it. A 
monitor was one mighty important item, in fact 
trying to do it without a monitor was a failure. 
My Packet activity is strictly 2 meters, using a 
MFJ-1270B TNC connected to SER 2. I have two 
Programs on micro drive cartridge, QL TERM by 
Richard Moldovan. and MIKE_TERM from the April 
issue of QZX. Each has a special use. Each has 
different problems and neither is completely 
satisfactory. However I am using my QL on Packet 
and it is there whenever I want it. SER 1 has my 
Citizen 120D printer, and SER 2 is Packet. 

My old set up was either the TS-1000 or 1500, 
ALPHACOM 32 and a COMLINK II connected to the 
TNC. That was a very satisfactory set up indeed, 
which allowed me to dump the screens to the 
eat This is something that I cannot do with 


UPDATE MAGAZINE 


Before leaving for South Africa I ordered a QL 
to be shipped to our Winter home in Florida and 
when we got back in January it was waiting. I 
went to the Winter Fest in Orlando and found that 
there was no one there who had any idea of what I 
was talking about when I brought up Packet. But 
I did learn one important thing, and that is that 
the QLUG SER2 pin connections are not as printed. 
That turned out to be academic, because the 
standard SER cable that I bought there works OK 
when connected between SER2 and the MFJ TNC. It 


‘was suggested that QL-TERM was a good program for 


a Modem and possibly might work with Packet, so I 
ordered it. 

QU-TERM arrived soon after and what a 
disiappointment when I tried to use it! I ask 
the dealer if my problem could be because I was 
using a TV asa monitor. Of course, he couldn't 
answer that question. So, Packet went to the 
back burner while I concentrated upon finding a 
printer that I liked at a price that I could 
afford. In the meantime I was wondering if 
anyone was getting anywhere with using their QL 


OCTOBER 1988 


on Packet. The US Postal service did not forward 
2X or CIM, so there I was in a black hole. #0 to 
speak. and no way out. Then lo and behold, 
Michael Mitchell came through with a program in 
April QZX. When I put the program on Micro 
Cartridge I learned that it needed a Monitor. By 
this time I had determined that a monitor was 
needed for general use anyway. 

When I got the monitor on line, the first 
program to try was QL-TERM. It worked but there 
seemed to be a problem between the computer and 
the TNC. They couldn't seem to communicate 
without messing up some of the characters. The 
radio communications over Packet seemed to go out 
and come back OK despite the garbage on screen. 
So. I tried the MIKE-TERM program only to see 
single letters scrolling up the left of the 
screen. JI searched for the problem but didn't 
find it until mich later. 

When using the TS-1000, the COMLINK-IT 
required a baud rate of 300, so I stuck with that 
until I discovered that by switching the INC 
switch to 1200 baud the garbage on screen 
disiappeared. 

At last I had a program working, but couldn't 
back space or erase in the normal way. ‘The 
solution is to use CIRL H instead of the normal 
DELETE. Yet to be resolved is how to duplicate 
the screen to printer as I used to do, but that 
will come later, I hope. Another bother is that 
the CTRL S takes a while to etop the scroll, 
longer than the TS-1000 and most likely because 
of the baud rate. 

Then it was back to MIKE TERM. A intense 
study of the program listing revealed a missing 
: in line 270 at the end of the line. That did 
it, but backspace reared its head again. A 
partial solution is to use CIRL H again, but the 
lack of cursor means that you are typing without 
reference. Now if I make an error, I use CTRL X, 
which shows a "/" and scrolls to the next line. 
The advantage of MIKE_TERM is that it loads fast. 
The disadvantges are, no screen dump to the 
printer and no flashing cursor. I then changed 
the window to have a program for TV use, and that 
works fine. Neither programs have macro keys. 

So, that is where I stand with using QL on 
Packet. It is working fairly well but there is 
still a long way to go. To summarize; 

1. Use a Monitor or MIKE_TERM modified for TV 
Screen. 

2. Ser2 port ping are: I-ground, 21x D, 3=Rx 
D. 4=DIR, S=CTS. 6=GRND. 7=GRND. G=blank, 96T/2V 

3. QU_TERM: Needs Monitor. 1200 baud. Must 
anticipate CTRL S or loge some screen. No screen 
dump. Erase and backspace with CTRL L. Can't go 
to QL programs when you Quit. 

4. MIKE_TERM: Easy to load and use, but lacks 
cursor and screen dump, Use CTRL H to erase, but 
no cursor makes it hard to use. Use CTRL X to 
cancel line and start over again with new line. 
Be eure line 270 has a ";" at line end. Modify 
window if using TV. Can quit and load Qi 
programs and vice versa. A good program. I use 
it daily to check my BBS. 

T have used two other programs, QOODE and 

NK, without success. the copies that I am 
using could be at fault. I will try to learn 


UPDATE MAGAZINE 


more about them and report when I make 
significant progress with these or the other 
programs. Bob, K3¥Q2—— 


Ed, comments: Screen Dump to printer is 
supported by the special language contained in 
the PISON ARCHIVE software. This may be an 
avemie to pursue to link with the modem 
softwares. Cross talk between those uging the QL 
within the telephone modem environment ami Packet 
users should be fruitful. UPDATE will open up a 
channel for such cross talk in the pages, and 
Will publish the names, addresses, and phone 
listings of those who have keen interest in 
Telcomputing, either via telephone or Packet, and 
who would like to establish direct communications 
with each other. Hopefully, we can have 
something useful in every issue of UPDATE about 
Telcomputing with the QL, the TS-2066, Via 
Telephone and Bulletin Boards, via Packet, and 
via direct telephone between users. The extent 
of coverage will depend upon the amount of inputs 
from the readers, as there is little "in-house" 
expertise on this subject. 


FORMAT OF UPDATE MAGAZINE i 


Back last year, UPDATE began with a 
couple of ideas that became too difficult to 
manage. One was Coloured page sections. 
The trouble with that is that paper 
suppliers have no standard colors. On month 
Pink is rose and next month it. is some other 
shade. So, I abandoned that Idea. 

Another plan was to have sections by 
major subject area. This worked out well 
for only a few major sections, 
Telecomputing, TS-2068 Extra Menory, 
Schematics, and The Electronics Data 
section. All other subjects seem to blend 
together. 

This October 1988 issue is the first 
issue to be printed by a commerical printer, 
and that makes it not to be feasable to 
continue with the colored page section idea. 
The editor will avoid "skip continuations" 
of articles from an earlier page to a page 
that is deeper within the magazine. This 
will allow those who want to file pages by 
subject area to do so. 


43 


OCTOBER 1988 


OCTOBER 1988 


& @L Address File 
Bob Hartung, 2416 N. Co. Line Rd., Huntertown, IN 46748 


Sone like myself who are new Kids on the block with the 
GL may be looking for info on getting started in QL 
SuperBasic programming. The GL User’s Guide (@LUG) is 
something less than a masterpiece of clarity, and most 
current publications seem to have moved on to more 
advanced topics, so, from the perspective of a rank 
beginner, here are a few "QLues* I have stumbled onto so 
far. Assuming that not everyone has installed Toolkit I] 
CTKT) or Trump Card, I will use only the syntax accepted 
by the unexpanded GL unless otherwise noted. Direct 
conmand entries will be indicated by <command) with a 
slash / between those Keys to be pressed at the sane 
tine. 


Since the best way of learning is usually by doing 
(there are exceptions such as learning what kinds of 
wild mushrooms are safe to eat!) I will give the listing 
for a SuperBasic program, then explain some of the whys 
and wherefores of it. Areader requested a mail list 
program, which seems a practical way of illustrating 
sone points. Of course the ARCHIVE database SW bundled 
with the QL may be adapted for this but all its bells 
and whistles and whirring microdrives sometimes seem 
overkill for a simple mailing file and printout. 


To make this into something for everyone, 1 will also 
try to use syntax that can most easily be translated by 
782068 (and Beta Basic) users, rather than exclusively- 
GL structures and commands that might be more elegant 
but less familiar. Purists who are bothered by my use of 
subroutines instead of structured procedures may easily 
replace the REM labels with DEFine PROCedure name, the 
RETurns with END DEFine, and the GO SUBs with the 
respective procedure nanes, I ran into an anomaly, 
however, on the SORT routine when defined as a procedure 
in that it re-orders a file perfectly the first time but 
then seems to lose track of some file items on 
subsequent calls. I’11 leave that as a challenge for a 
sharp T/S UPOATE reader to figure out! 


The mininum essentials of a mailing list are to provide 
the means of entering, storing, retrieving, and printing 
out the files. It is also useful to have the means of 
re-ordering them alphabetically, usually by last names, 
selecting particular ones for display or printout, 
adding to the file, and editing or celeting. This 
program will do all these, albeit more slowly than a 
whiz-bang machine code or conpiled one. To economize on 
Page space a Sé-colunn listing format was used instead 
of the 40-column MODE 8 or the é4-column MODE 4, Now 
with all these disclaimers stated, let’s get on with it. 


For less pain and strain in entering the listing, (AUTO) 


a 


UPDATE MAGAZINE 


UPDATE MAGAZINE 


supplies line numbers starting at 100 in increments of 
10 or (AUTO n) will start at line n in steps of 10. Use 
{CTRL/SPACE) to break out of AUTO. During entries of a 
new listing or when editing an old one, (AUTO 10) or in 
the same increments as the listing will automatically 
bring each line into edit mode and (ENTER) will scroll 
to the next. If EDIT n) is used to bring down a 
specific line, then the up or down cursor Keys may be 
used to scroll other lines into the edit window as long 
as ENTER has not yet been Keyed. Of course TKT users 
have the many conveniences of full-screen editing but 
tor those who don’t have TKT the QLUG doesn’t go into 
much detail on how to use these normal EDIT functions to 
make life a bit easier. 


I would suggest starting by entering line 1540 DEFine 
PROCedure sv: DELETE MDVI_addrfile: SAVE NDVI_addrfiles 
END DEFine su. 1# you do not have the TKT FREE_NEM 
command you might also want to add line 1550 DEFine 
PROCedure freenem: PRINT PEEK.L(163856)-PEEK_L( 163852) 
71024: END DEFine freemem. Make the first save of this 
with SAVE MViaddrfile, or change all the addrfile 
names to BOUT if you want it to auto-load. Now whenever 
you want to make a save during entry of the listing all 
you need to do is Key (sv). Enter <freemem) to show free 
memory remaining. Procedure and function definitions 
Tike these may be located anywhere and are transparent 
until called, i.e. processing passes right over then -as 
it does for a DATA line. 


Use RUN to initiate and key "9" from the menu to save 
the listing to mdvi. To set up an all-new file, key "0" 
and "y" at the ERASE pronpt. 820 allows entry of 1, 2, 
3, 4, or 5 for auto-entry of the respective titles (no 
space between number and first name). 14 9 is the first 
character entered here then any other title or name may 
be Keyed in letter-by-leiter following the 9. $STOP will 
close the file and GO SUB to the sort and re-order 
routine 20, otherwise inputs continue for last name, 
address, P.0., state & ZIP, and 1D or phone no. 


The state and ZIP entry may be skipped with just ENTER 
(VL) if the P.O. entry was made with a number. 860 & 
890-910 may be expanded to include more auto-entries of 
P.0., state, and ZIPs for frequently-occurring ones. To 
avoid confusion, use line-increnents of 1 for this and 
wait until the entire listing has been entered and 
checked before using RENUM 10,10, 


Printer control commands for font, margin, etc. may be 
set by your panel switches or a PRINT #7,comand- 
sequence for your particular printer may be inserted at 
line 1300 after an OPEN #7,seri. Be sure to end this 
sequence with a CLOSE 47, 


TW MODE 8 (40-column display with two screens) is 
assumed so you may wish to adust sone of the PRINT and 


OCTOBER 1988 


OCTOBER 1988 


10 sets black PAPER and white INK for the #2 main 
display screen and white PAPER and black INK for the #0 
editing window. This gives a crisper display on B&W TVs 
and composite monochrome monitors than the power-up 
colors. Just use 10 G0 10 510 here if you prefer to Keep 
the original screens. 


Note that in lines 130-200 you may use apostrophes 
rather than quotation marks to define character-strings. 
The QL accepts either. The apostrophe is a little 
handier as it requires no SHIFT, but for clarity and of 
course for T/S translation the quotes should be used. 
The reverse slash \ used by the GL for a line feed 
corresponds to the apostrophe for the T/S. PAUSE without 
a given value is the same as T/S PAUSE 0. 


A little surprise for 1/S users (that users of many 
other computers have had to reckon with all along) is 
that it cannot be taken for granted that dimensioning a 
numeric array as DIM a(n) always sets every element to 
0. Neither does DIM a$(n) set every string element toa 
space or CHR$(32). The DIM sets the string array 
elements to CHRS(O), and then if LET a$(n)="* is used 
‘they become spaces. If no Key is depressed, CODECINKEYS) 
also returns 0. This is the reason for the value-checks 
shown in 210, 610, and 910. 


The IF-THEN structure of the GL allows nested test- 
statements, with ELSE alternative conditions that are 
active when IF conditions are not met, as in 330 and 
350, 350 could also have additional statements appended 
such as ELSE OPEN #7,scr: INK #737 (which sets scr INK 
to white or the color of your choice). The end of a 
particular set of IF-THEN-ELSE statements is marked by 
an END IF to indicate that set of conditions no longer 
apply to what follows. 


The SELect ON sequences in 370-430 and 630-740 may be 
translated as IF-THEN statements for the 1/S. Beta Basic 
(BB) provides the ELSE function and also has an ON 
command that would require this change: 


610 LET n$=INKEY$, m-VAL m$+1; IF m$="" THEN 60 TO 610 


This allows lines 630-730 to be entered as only one line 
to use the BB ON function: 


$30 ON m: GO TO 770: GO TO 790: GO TO 970: 110: GO SUB 
20: GO TO 1210: GO TO 1320: GD TO 1420: 60 T0 1310: SAVE 
“addrfile* LINE 10. 


Lines 1330-1510 show how the QL sends and receives data 
to and fron devices such as microdrives, modens, 
printers, networks, etc. For the T/S all this SAVE and 
LOAD footwork can be replaced by the sinple commands 
SAVE "nane* DATA #$() and LOAD “name™ DATA #9(). If LET 
4$(400, 10 3)=STR$ last is inserted before the data 
save, then LET last=VAL #$¢400, TO 3) would re-define 


UPDATE MAGAZINE 


45 


UPDATE MAGAZINE 


the value of Jast after the loading of new data. (The OL 
has no VAL function.) 


LISTING 2 gives a search routine for T/$ users. When 
using it, the target-line to be searched is first marked 
by number, then any consecutive set of characters found 
at the very beginning of that line may be used as a 
search-word, Either a hard-copy printout or screen 
display may be selected. Line 350 could be changed to IF 
y$='y" THEN OPEN 2,"P* and make 470 CLOSE #2 to direct 
the PRINT output of lines 380-460 to a printer or to the 
screen if y$="n". IF-THEN statements would then be 
substituted in 380-420, and the #7 omitted. In BB an ON 
conmand-sequence could be used here if 360 is made LET 
paCODE #$(n)-48 so the number-sequence 1-9 is produced. 


In BB the sort routine at 30-90 may be replaced by the 
simple command: 30 SORT #$(1 TO last)(21 TO 40) which 
will re-order 150 array elements by last names in just 
over 1 second. The QL search routine would be replaced 
by the following in BB: 


130 INPUT * LPRINT y/n? ";y$ 

140 INPUT "CHR$ in search-word (#=wild): 

150 FOR n=1 TO last 

140 LET p$=#$(n) 

170 IF INSTRING(1 ,p$,c$) THEN PRINT n’#$(n, TO 94)’ #3¢ 
my95 TO 114): IF ys="y* THEN 60 SUB 350 

180 NEXT n 

280 PRINT H0;"SEARCH conplete*: PAUSE 300: GO TO 500 


"yes 


INARRAY would search the entire #$ array but Tine 150 
allows INSTRING to search one array element at a time. 
Nost BB commands and functions allow similar savings in 
menory-usage as well as processing time which offsets to 
a great extent the limitations imposed by the 22K free 
menory remaining with BB in-residence. About 150 
4ile-items may be handled by this program using BB in a 
Spectrun-enulated 752068. 


In edit mode, ENTER scrolls through the file items. 
Entering "Z” will delete that item, or if a number is 
entered then that line-iten may be re-entered as 
desired. If more than one line is to be changed the "6" 
repeat option may be used at the end of the edit mode 
sequence, or else it might be simpler to use "4" to 
delete that whole item, then go to the “Additional 
entries" mode from the main menu. While entering new 
file items, if $10 is entered instead of an 1D or phone 
no. then that entire file~item may be re-entered to 
correct an error, or else you can wait and use the "List 
& edit mode" fron the main menu. 


Again BB has a much easier way of editing an entire 
array element at a tine by replacing lines 1000-1200 
with simply 1000 EDIT #$(n) and 1010 NEXT n. The entire 
file item is brought back into edit mode for revisions 


OCTOBER 1988 


OCTOBER 1988 


by moving the cursor up and down as well as horizontally 
through it, just as when it was originally entered. 
Keying ENTER scrolls through the file. 


The "SAVE file* and ‘LOAD file’ modes require a 
cartridge in mdvi (or mdv2 with required changes in 
listing) so that the CAT routine may list all files 
already on the cartridge. This allows checking file 
nanes already in use to avoid overwriting any you wish 
to keep, Since I have TKT installed which doesn’t 
require the DELETE mdvi.name before saves, the very 
first save you make of the listing (and the save of a 
file using a given name for the first time) may require 
adding an optional procedure without the DELETE on 
unexpanded OLs to provide for such saves. Jf a save is 
being made with the same name as an existing file 
without preceding it with the DELETE MDVi.name command, 
TKT users receive a warning prompt and the *Y/N" option 
to abort or proceed. 


I think the remaining program REMarks and pronpts should 
be self-explanatory, but then I’m looking at it through 
different eyes than someone seeing it for the very first 
time, so feel free to bring any errors or unclear points 
to ay attention. For reply please enclose a SASE. I have 
written an all Beta Basic version of this program which 
will appear in a future SYNCWARE NEWS if all goes well. 


Tt would serve areal need, J believe, if QL, T/S, and 
BB users would send in your own programming hints, 
especially those procedures and functions you have 
created, so they can be shared here in UPDATE with other 
users. And be sure to let Bill and his advertisers know 
you appreciate their support. As Rod Gowen of RNG 
ENTERPRISES, one of the very supportive surviving T/S 
venders, stated in recent correspondance with me, "We 
Sinclair users have to stick together!* 


LISTING 1 - OL ADDRESS FILE 


10 PAPER 0; PAPER #0;7; INK #0;0: CLS: CLS #0: 60 TO SiO 

20 REMark sort 

30 LET melast: LET som 

40 LET ssINT(s/2); IF s<1 THEN RETurn 

SO IF s/2=INT(s/2) THEN LET s=s#1 

60 FOR n=1 10 m-s 

70 LET jen 

80 IF #$¢j,21 TO 40))4$¢j+5,21 TO 40) THEN LET x$=#$¢i,1 
TO 115): LET #$(j,1 TO 115)=4$¢j4s,1 TO 115): LET 
$(jts,f TO 115)=1$: LET jej-st IF j20 THEN GO TO 80 

90 END FOR n 

100 60 10 40 

110 REMark search 

120 CLS 

130 INPUT " LPRINT y/n? "33 

140 INPUT "CHR$ in search-word (Hewild): "yet 

150 FOR n=1 TO last 


UPDATE MAGAZINE 


UPDATE MAGAZINE 


16D LET p$=#$(n) 

170 IF INSTRING(1,p$,c$) THEN PRINT n’4$(n, TO 94)/48(n, 
95 TO 114): IF ys=*y* THEN 60 SUB 350 

180 NEXT n 

190 PRINT #0;*Search is complete’: PAUSE 300: GO TO 500 

340 REMark Printout subroutine selects printer or screen 

350 IF y$="y* THEN OPEN #7,ser1: ELSE OPEN #7,scr: INK 4 
7,73 REMark Or INK n of your choice for scr 

340 LET p=CODE(#$<n,1)) 

370 SELect ON p: REMark Alternative to IF-THEN sequence 

380) «=49; PRINT A7,"Mr. & Hrs. °; 

390 =50: PRINT #7,"Mr. "3 

400 =51: PRINT H7,"Mrs. "; 

410 | =92: PRINT 47,"Ns. °; 

420 =53: PRINT 7,"Miss *; 

430 END SELect 

440 END IF 

450 PRINT 47,44(n,2 TO CODE(#$(n,115)));" "5#8(n,21 10 4 
O)\#$(n,41 TO 65)\¥$(n,48 TO BOD\4$(n 81 TO 94) 

460 IF y$="n" THEN PRINT 47; #$(n,95 TO 114) 

465 REMark For labels insert PRINT 87,\\\ here for LFs 

470 CLOSE 47 

480 RETurn 

490 REMark Menu 

500 CLS: CLS KO 

310 PRINT "O - Start ALL NEW file" 

520 PRINT "1 - Additional entries" 

530 PRINT "2 - List & edit mode* 

‘540 PRINT “3 - Search mode” 

550 PRINT "4 - Sort & re-order® 

560 PRINT "S - LPRINT™ 

570 PRINT "6 - SAVE file™ 

580 PRINT "7 - LOAD file" 

590 PRINT "8 - Set printer* 

600 PRINT "9 ~ Listing SAVE" 

610 LET m=CODECINKEY$): IF m=O THEN G0 TO 610 

620 CLS 

630 SELect (Na 

640 =48; GO TO 770 

650 =49: GD 70 790 

660 =50: 60 TO 970 

670 =5i: GO 10 110 

680 =52: 60 SUB 20 

690 =53: GO TO 1210 

700) =54: 60 TO 1320 

710 =55: GO 70 1420 

720 -=56: GO TO 1310 

730257: sv 

740 END SELect 

750 60 70 500 

760 REMark Initialize ALL NEW file 

7270 INPUT #0;"CAUTION--ERASE OLD FILE y/n? (Max ing 

no. files(400) —";y$: IF y$="y" THEN DIM #$(400,1 

15):CLS #0: ELSE PRINT "FILE NOT ERASED": 60 70 510 

780 REM Input to file 

790 FOR n=1 TO 400 

800 LET p=0: RENark p=zero 

810 IF #4(n,1) (> CHRSCO) AND #$(n,1) <>" * AND #$(n,f1 


OCTOBER 1988 


OCTOBER 1988 


4) 4)" THEN NEXT 

920 INPUT (n)\*$STOP INr/trs 2Mr 3Hrs 4s SMiss or 9 the 
n title or first name "\p$: LET #6{n,1 TO 202=p$: L 
ET #$(n,115)=CHRS<(LEN(p$)): IF p$="$STOP* THEN LET 
$n)="": LET Jast=n-1: 60 SUB 20: 60 70 500 

830 IF CODEC#$(n,115)){2 THEN LET £$(n,115)=CHRS<2) 

840 INPUT "Last name"\f$(n,21 TO 40) 

850 INPUT "Address"\#$(n,41 10 65) 

860 INPUT ‘P.O. or 1AUB 2BUT SHNT"\4$<n, 66 TO 80): IF f 
$(n,66)<="9" THEN LET p=1 

870 INPUT *State (2 chrst2 spaces) & ZIP or N/L*\#S{n,81 
TO 94) 

880 INPUT "ID or phone no. (or $10 for re-entry) *\4$(n,? 
5 70 114) 

890 IF #4(n,66)=°1" THEN LET #$(n,66 TO 80)="Auburn®: LE 
T #4(n,81 TO 94)="IN 46706)" 

900 IF #4(n,66)="2" THEN LET #$(n,46 TO 80)="Butler*: LE 
T 49(n,8% TO 94)="IN 46721" 

P10 IF #$(n,66)="3" THEN LET 4$(n,66 TO 80)="Huntertown’ 
+ LET #$(n,81 TO 94)="IN 46748-nnon* 

920 IF p THEN PRINT #$<n,66 TO 94)\ 

930 IF 44(n,95 TO 97)="$T0" THEN PRINT "RE-ENTER": 60 TO 
820 

940 END FOR n 

950 LET last=n-{: GO SUB 20 

960 60 TO 500 

970 REMark EDIT file 

980 CLS #0: PRINT #O;"Key ENTER to keep or % to delete 

TTEM NO. to EDIT": LET 2=8 

990 FOR n=1 TO last 

1000 PRINT *FILE "yn\1j"="; #$(n,1 TO 20)\23"=";4$¢21 TO 
40)\35"5" 5#9(n,41 TO 65)\45"=" 591066 TO BO)\5; "=" 
14$4n,81 TO 94)\6;"=";£$(n,95 TO 114) 

1010 INPUT m$;: IF m$="%* THEN PRINT "DELETE! !*: LET #$¢ 

LET #$(n,21 TO 40)=*zzzzzz2zz2": LET 2=2 


1020 IF CODE(a$))37 THEN 60 SUB 1130 

1030 PRINT 

1040 END FOR n 

1050 GO SUB 20 

1060 LET x=last 

1070 FOR n=x-z TO x 

1080 IF 4$(n,21 10 30)="zzzzzzzzzz" THEN LET last=last-1 
: LET #$(n)="* 

1090 END FOR n 

1100 CLS 

1110 CLS #0: INPUT 40;"Key ENTER to return to menu or 6 
to repeat "; y$: IF y$ <)"6" THEN 60 TO 500 

1120 60 10 970 

1130 PRINT "-LINE REVISION:" 

1140 IF m$="1" THEN INPUT p$: LET #$(n,1 10 20)=p$s LET 
#$¢ny115)=CHRS(LEN(p$)) 2 IF CODEC#9(n,115))<2 THEN L 
ET £$(n,115)=CHRS(2) 

1150 IF m$="2" THEN INPUT #$(n,21 70 40) 

1160 IF m$="3" THEN INPUT #$(n,41 10 65) 

1170 IF m$="4" THEN INPUT #$(n,6é TO 80) 

1180 IF m$="5" THEN INPUT £$(n,81 TO 94) 

1190 IF n$="6" THEN INPUT £$(n,95 TO 114) 


47 
UPDATE MAGAZINE 


UPDATE MAGAZINE 


1200 RETurn 

1210 REMark LPRINT envelopes or labels 

1220 INPUT "Continuous printout y/n? "js 

1230 FOR n=1 TO last 

1240 IF y$="n* THEN CLS #0: INPUT RO3(n)\(49(n,1 10 40)) 
\TKEY 5 TO SKIP or ENTER for next "yn$: IF mg="s* TH 
EN NEXT n 

1250 LET p=CODE(#$(n,1)) 

1260 OPEN #7,ser1 

1270 60 SUB 370 

1280 END FOR n 

1290 60 TO 500 

1300 REMark Insert YOUR printer commands here 

1385 60 10 500 

1310 REMark Save-data routine 

1320 CAT 

1330 INPUT WO; “SAVE file name? ";y$: LET m$="ndvi_" & y 
$: REMark Or use “mdv2." here & at line 1430 

1340 DELETE ns 

1350 OPENLNEW 87,0 

1360 FOR n=1 TO last 

1370 PRINT #7, #8{n) 

1380 END FOR n 

1390 CLOSE #7 

1400 CLS #0: 60 TO 500 

1410 REMark Load-data routine 

1420 CAT 

1430 INPUT H03"LOAD file name? ";y$: LET n$="ndvi_" & y$ 

1440 DIM #$( 400,115) ; 

1450 OPENLIN 47,0% 

1460 FOR n=i TO 400 

1470 1F EOF(#7) THEN LET lasten-1: 60 TO 1510 

1480 INPUT #7, #9(n) 

1490 END FOR n 

1500 LET last=n-! 

1510 CLOSE #7 

1520 CLS #0: 60 10 500 

1530 DEFine PROCedure CAT: CLS:DIR MDVI.: END DEFine CAT 

1540 DEFine PROCedure sv: DELETE NDVI_addrtile: SAVE NDV 
Liaddrfile: END DEFine sv 

1550 DEFine PROCedure freemen: PRINT PEEKL(16385¢)-PEEK 
-L(163852)-1024: END DEFine freemem: REMark Allows 
free memory to be displayed by Keying-in freemem as 
direct command or as a listing command 


LISTING 2 -- T/S Search Routine 


130 PRINT "KEY LINE NO. TO SEARCH:*\ 
140 PRINT "1 - Title no. & first name 
ts Mr Sirs 4s Miss)" 
150 PRINT "2 - Last nane* 
160 PRINT "3 - Address" 
170 PRINT "4 - P. 0. or city* 
180 PRINT "5 - State abbrev,* 
190 PRINT "6 - ZIP" 
200 PRINT *7 - 1D code or phone® 
210 LET n$=INKEY$: IF m$="* THEN GO TO 210 


CMP /t 


OCTOBER 1988 


220 INPUT “Leading chr-set in item ";<m$)\cd 

230 INPUT *LPRINT y/n? “;y$ 

240 PRINT 80;"ANY KEY FOR NEXT 

250 LET sh=1#(mt="1')4+219(m$="2")4418(n$s"3")4668(a9="4" 
481m $="5" )4848(n9=" 4") +958(m9="7") 

260 LET s2=si+LEN(c$)-1 

270 FOR n=1 TO last 

280 IF c#=4$(n,s1 TO s2) THEN GO SUB 340 

290 PAUSE 

300 PRINT 

310 NET 

320 PRINT "SEARCH completed” 

390 CL$ #0: INPUT #0; "Key ENTER for menu or 4 to repeat 
*; ySs IF y$="6° THEN CLS #0: 60 70 110 

335 GO T0 490 


Invitation to participate 
ARTICLES and PROGRAMS SUBMISSION 


UPDATE ENCOURAGES writers to submit 
articles, utilities and programs for 
publication. The FORMAT is very relaxed. 
Just pay attention to the width of the pages 
and allow about 3/4 inch top and bottom and 
make the left and right margins wide enough 
to accommodate a 3 hole punch that does not 
cut out some of the text. We have enlarge 
and reduction capability to adjust print to 
fit a page. Most important is legibility. 
Draft quality dot matrix does not reproduce 
well. Print size preference is ELITE 12 
characters per inch. Pica 10 characters per 
inch is OK also, but please NO condensed 
print. If an article has illustrations, 
tables, schematics. pictures, figures. thats 
alright. Just let us know how to organize 
them. 

Some of the print in the articles of this 
issue is smaller than desired because the 
pages were reduced to provide margins, and 
some of the articles have quite a bit of 
wasted page space due to excessive margins. 
But if written text can be salvaged we will 
do that instead of re-typing it. Solid type 
that is clear but faded can be enhanced at 
UPDATE, but draft quality dot matrix cannot, 
espically that produced by the TS-2040. 
That is all the guidance to be given. Dont 
want to make it too tough to participate and 
scare you away. The users NEED the SHARING 
OF KNOWLEDGE. 


TS-2068 PROGRAMS and UTILITIES 


PROGRAMS to publish for the TS-2068 may 
be LLISTED in 32 chr lines, but that is not 


48 


UPDATE MAGAZINE 


necessary. Each program should be supplied 


on 40 or 80 track disk or cassette. Oliger, 
larken, or Aerco FD-68 formats are fine. 
SPECTRUM programs should be capable of 
running in the TS-2068 that is equipped with 
the Spectrum ROM Switch. We ESPECIALLY need 
programs and utilities designed for use with 
DISK DRIVES. 


SINCLAIR QL PROGRAMS and UTILITIES 


QL Programs and utilities should be 
supplied on either 80 track floppy or micro 
drive. All programs nust be usable with the 
UNEXPANDED QL. If programs are supplied on 
disk, a version should be recorded that will - 
COPY TO MICRODRIVE and operate from micro 
drive. Your letter should contain enough 
instructions about the disk or micro drive 
so that the editor can load and operate. 

UPDATE welcomes QL programs which have 
expansion capabilities to use with the QL 
that has RAM expansion, but such programs 
should also have a micro drive version which 
works with the un-expanded QL. 

Exceptions to the above are utilities 
designed to be specifically for disk drive, 
micro drive, Trump or Sandy, or supporting 
utilities for other devices. 

Full Fledged Software for the QL tends. to 
be too long for key in projects and these 
Programs should be accompanied with an 
article designed as a "mini manual", QL 
Utilities and short softwares can be LISTED 
in the magazine as key in projects and the 
users will get much programming knowledge 
from an explanation of HOW the program 
works, 


The QL and the TS-2068 
GENERAL INTEREST ARTICLES 


REVIEWS of new software and equipment are 
welcomed. UPDATE will provide enough space 
for comprehensive reviews. 

PROGRAMMING: This is what the users ask 
for most and is the most flexible. The 
users need programming informtion ranging 
from “one liner tips" to simple basic 
programming, to advanced programming. 
TS-2068 users are also eager for programming 
information about disk drive use. QL users 
are asking for Super Basic programming 
information, ranging from beginner level to 
such topics as networking between two QL's, 
telecommunications with modems, Piping data 
between two computers, and conversions of 
MS-DOS programs for use with the QL. So, 
let the limits of your writing be the limits 
of your knowledge. 


OCTOBER 1988 


OCTOBER 1988 


TS-2068 EXTRA MEMORY RECAP 


Back in January 88, UPDATE began a series 
about EXTRA MEMORY. The first objective was 
to explore the ways and means of using 
EXISTING Extra Memory Hardware. Hriefly 
these hardware devices are: The Oliger 
EPROM cartridges for Dock Bank use: The 32K 
non volatile memory cartridge for use in the 
Dock and XROM banks: The Aerco FD~68 Disk 
Controller which contains un-assigned extra 
Ram 64K blocks. Recently one more addition 
is the LARKEN Ram Disk cartridge. 

The existing TS5-2068 allows us to use 
programming to enable the Dock and XROM 
banks of memory when RAM or EPROM is 
installed in these two banks, There is no 
automatic way of using extra memory in the 
TS-2068, unless such auto usage is provided 
for by PROGRAMMING. So, the January UPDATE 
delved into the programming needed to use 
these existing devices, which generally had 
not been covered in sufficient detail for 
the devices to be widely accepted and used. 
This involved "collecting" pieces of data 
about programming from several sources and 
putting together a group of utilities to 
allow the user to move BASIC programs or 
utilities into the Dock or XROM banks and 
operate the programs. The UPDATE series on 
EXTRA Memory continued in tutorial form to 
include Operating programs in both HOME and 
DOCK banks and switching from one to the 
other at will. Then the Disk Drive was 
brought into the picture ami utilities 
developed for Auto Booting programs into 
Home RAM. followed by AUTO MOVING the 
program into Dock bank, and then Auto 
Booting another basic program into Home 
Bank— to operate two programs at will. 
This effectively magnifies the SIZE of 
programs that the TS-2068 is capable of 
handling and frees up the FREE MEMORY (ram) 
for an extraordinary increase in DATA 
handling capability (within RAM). 

The above represents the TOTAL capability 
of the TS-2068, as it was manufactured, to 
utilize MEMORY. We cannot go beyond using 
the Dock and XROM banks without redesigning 
the TIMEX ROM. AND, it isn't easy fora 
user to get that far, because the user must 
learn programming to do it himself. The 
tutorials and utilities given in UPDATE were 
designed to allow a person who is interested 
in programming to learn how todo it, and 
for programmers to use to develop software 
to operate from Extra Memory. 


UPDATE MAGAZINE 


49 


UPDATE MAGAZINE 


UPDATE realizes that many users wont 
delve into the detailed study needed to 
become profficient in using Extra Memory, 
and that this series is of little interest 
to them. But there are some who are eager 
to extend their programming abilities. Then 
there is asmall group of real hackers who 
want to go the limit and build onto the 
TS-2068. So, just as UPDATE plays to the 
novice programmers and to those who are 
interested in only using software, not 
constructing it, we also want to fill the 
needs of the intrepreneur ard the expert. 

ENTER CHARLES BOTHNER, to extend the 
series on Extra Memory "to the limit". This 
issue brings another detailed article by 
Charles. In addition to his extensive 
project to extend Memory Addressing, Charles 
has given other building schematics. One is 
a Auxillary Power Supply to power external 
add on devices, which most of us need to 
prevent TS-2068 overload. T have already 
burned out one TS-2068 due to overloaded it 
with add ons. Hopefully one of our hardware 
builders will pick up on this need and offer 
&@ power supply that plugs on to the external 
Buss of the 68 and power everything else 
that is tagged on. WE NEED THAT! 

In this issue, Charles casually verifies 
the previous UPDATE information about Dock 
and XROM bank transfers, and with a snort of 
impatience, he proceeds to the sublime, 
leaving most of us in a fog of 
miscomprehension. But not really. If you 
really dig in and cross reference the Timex 
Tech manual, things come into focus. A good 
many are digging this and are asking for 
more. We have some real technocrats using 
the TS-2068! 

Actually, if you will notice, Charles 
does not apply TITLES to his works, just 


branch headers. If I had to coin a title, I 
would use: “ENGINEERING A 7Z6@ BASED 
COMPUTER". Then I might add: ("Using the 


TS-2068 as a Starter"). His works go beyond 
the UPDATE series title of Extra Memory 
while he stretches the 2-80 CPU to it's 
limit. There's a guy in England who did 
something similiar, and his product is 
called "The Sinclair Zzeé8". I don't know 
where Charles Eothner is taking us, but 
UPDATE will continue with his works until 
the end. If someone really wants to learn 
the practical aspects of computer 
engineering, address coding, assembly 
language, and the 2-80 CPU, this is a GREAT 
tutorial on all of that. 


OCTOBER 1988 


UPDATE MAGAZINE | 
EXTRA MEMORY 


OCTOBER 1988 
EXTRA MEMORY 


By: Charles Bothner 


SEPT. 2, 1988 


Bill Jones 

TS-2068 UP-DATE 

1317 Stratford Avenue 
Panama City, FL 32404 


Dear Bill, 


First of all, I would like to comment on your proposed use 
of both the HOME and DOCK banks for programs simultaneously. 
The switching between these banks by manipulating bit 7 of 
the ARSFLG variable @23750 should work as you described. The 
only known problems in the use of the DOCK bank are those 
described in paragraphs 6.2 and 6.3.1 of the Timex technical 
manual and Lhese deal with cartridges which only use machine 
code. (They are easily corrected by changing the byte @0930H 
in the EXROM from 40H to 55H and the two bytes @38A0H and 
38A4H in the home ROM to GOH and 40H respectively.) I have 
not analyzed the DOCK bank access routines in detail up to 
this time because I have not had any problems using the DOCK 
bank for any of its normal stand-alone functions. 


You mentioned power problems with the 2068 and I agree com- 
pletely that extra loading on the internal power supply 
should be kept at a minimum. I even went so far as to relo- 
cate my LKDOS controller board from the cartridge slot to 
one of the bus expansion boards at the rear of the computer 
so that it would be on the external power system. ‘he only 
extra loading on the internal supply is the 2 chips which 
were added for proper EXROM address decoding and DOCK/EXROM 
disabling when an expansion bank is active as described in 
my last article. 


My present bus expansion port plug-ins are lined up as 
follows: 
1. RGB monitor interface and phoneme speech 
synthesizer. (The external power supply is 
now connected to this board. ) 
2. EXROM bank expansion for chunks 1-7. 
3. LKDOS controller board. 
4. Expansion bank controller board. 
5. Port I/O buffer board with real time clock 
6. LKDOS disk port board 
7. 16 channel A/D board. 
8B. Text-to-speech board. 
9. Digitalker speech synthesizer board. 
10. RS-232 interface board. 
11. TS 2050 Modem interface. 
12. AERCO printer interface. 
(You can see that I have been experimenting with several 
different approaches to speech synthesis for computers. ) 


Now let me bring you up to date on my progress in developing 
the expansion bank hardware and software. I have completed 


50 
UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


EXTRA MEMORY EXTRA MEMORY 


By: Charles Bothner 


the debugging of the EXROM initialization routines. The 
original Timex protocol was followed in all respects except 
for the deletion of the routines which reassigned expansion 
bank numbers according to their interrupt priorities. This 
was done for several reasons. First, the interrupt service 
routine address field which is stored in the SYSCON table 
for each expansion bank is never accessed by any of the ex- 
isting Timex ROM code. Second, there is no way-of currently 
making use of interrupts from the expansion banks without 
changing the interrupt mode of the Z-80 processor and if a 
different interrupt mode were used and the HOME bank then 
made active, the system would crash. Third, it is unlikely 
that there would ever be so many expansion banks on line 
that polling would present an excessive time delay within 
system routines. 


Before I go any further on the system debugging I will refer 
any interested readers to the excellent 5 part series of ar- 
ticles by Wes Brzozowski entitled "The Mystery of the Miss— 
ing 253" which appeared in Time Designs Magazine starting 
with the July/August, 1986 issue. These articles provide a 
good background description of the ROM routines. These ar- 
ticles actually got me started on the debugging of the sys- 
tem ROM’s. 


I completed the debugging of the initialization routines 
dealing with the ROM (or PROM) based expansion banks over a 
month ago but the RAM based banks were more of a problem. 
The RAM based expansion bank initialization routine consists 
of testing each chunk in the bank for the presence of RAM by 
means of first writing a test byte, then reading it back and 
comparing the read back data with the original byte to see 
if RAM is actually present in that chunk. This test is 
repeated using two different bytes to verify that there ac- 
tually is RAM in the chunk and not an accidental match with 
random garbage read back from an unused address. 


The original test routine in the EXROM blithely continued 
chunk by chunk until chunk 3 was enabled in the expansion 
bank without bothering to move the 0O.S.RAM routines from 
chunk 3 in the home bank to chunk 7 so the system crashed at 
this point. I added the necessary code to move the 0.S.RAM 
routines to chunk 7 prior to testing chunk 3 in the RAM 
banks, but the system still crashed. The problem this time 
was that the routine in the EXROM which moves the 0O,S.RAM 
code makes use of data stored in the system variables area 
which have not been initialized at this point in the overall 
system initialization sequence. The addition of some code to 
temporarily initialize these variables solved that problem 
but we were not out of the woods yet. The system now ini- 
tialized properly and the SYSCON table was loaded with the 
correct type of data but the chunk map stored in SYSCON 02 
for RAM banks did not show the proper status of chunks 2 and 
3 for these banks. Subsequent testing of the write and read- 


51 


UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


EXTRA MEMORY EXTRA MEMORY 


By: Charles Bothner 


back of memory in these RAM bank chunks indicated that the 
data was being written in correctly but was read back cor- 
rectly approximately 10% of the time. Apparently the SCLD 
chip in the computer was somehow insisting that the home 
bank should retain control of chunks 2 and 3 since both of 
these are used for screen display storage. (Chunk 3 is only 
used for extended display modes.) Attempts to override this 
control by means of DI software instructions and also by 
setting bit 6 in port FF proved fruitless. Since the inter- 
nal architecture of the SCLD chip is unknown, I decided to 
try the same type of hardware override approach that Timex 
used when they added the U21 circuit to tristate two of the 
address and data buffer chips (U5 and U9) when writing to 
the DOCK bank. The added circuit is shown on one of the 
enclosed schematics. After adding this circuit which tris— 
tates the buffer chips whenever chunks 2 or 3 of either the 
EXROM bank or expansion banks are active, the SYSCON table 
was correctly loaded during the initialigation sequence. A 
copy of the SYSCON table data is enclosed along with a brief 
description of the function of the entries in the table. The 
SYSCON 03 through 17 entries for the RAM banks is whatever 
garbage was in the chunk O RAM at power up. It is unused 
data for these banks. 


I am also enclosing a schematic of a LED display add-on for 
the expansion bank boards which I found to be very useful to 
show which chunk in each bank is currently active. 


As promised in my last letter to you, I am enclosing an an- 
notated copy of the modified 0.S.RAM routines. Most of the 
routines have either been corrected or entirely rewritten. 
The only routine which is not annotated is the DISPATCH 
routine which serves no useful purpose at the present time 

This routine will be the only one which will be entirely 
deleted if I can come up with some useful routines which 
will help make use of the expansion banks transparent to the 
programmer working only in BASIC. This will be one of my 
next projects now that the debugging of the original Timex 
code and associated hardware seems to be complete. I want to 
apologize for the handwritten annotation for this table but 
much of this was done during extensive business travelling 
over the past few months. Also enclosed is an updated FIX 
table for the 0.S.RAM code which is used by the code which 
moves the RAM routines back and forth between chunks 3-and 7 
in the home RAM. 


During my analysis of the 0O.S.RAM routines, I originally 
thought that there was an error in the CALL BANK routine. 
This routine is used extensively by the tape I/O routines in 
the original Timex ROM’s, but never with any parameters 
passed on the stack, either in or out. Detailed analysis of 
the CALL BANK routine indicated that it is correct as 
originally written, and the called routine is responsible 
for cleaning up the stack by deleting the passed parameters 


52 
UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


EXTRA MEMORY EXTRA MEMORY 


By: Charles Bothner 


after the data has been used by the called routine. 


Prior to calling a routine in an expansion bank with 
parameters passed to the routine, the following items have 
been stored on the stack in the order indicated: 


1. Bytes containing the status of expansion banks. 
(One byte per bank containing the active chunk 
map. ) 

2. Two bytes containing the status of ports F4 and 
FF. 

3. The address inside the CALL BANK routine which 
will be returned to at the completion of the 
execution of the code in the expansion bank. 

4. The chunk mask and bank number of the called bank. 

5. The number of parameters (bytes) to be outpub to 
the called routine. 


The stack pointer is left pointing to item 3 when the expan— 
sion bank is jumped to. I am using the following routine in 
the expansion bank to recover the stack space utilized by 
the passed parameters while preserving all 2-80 registers: 


¥3 DI Disable interrupts. 

DDE1 POP Ix Save return addr. in IX. 

E5 PUSH HL Save HL(overwrite return 
address) 

C5 PUSH BC Save BC(overwrite chunk 
mask and bank number) 

210000 LD HL,O Make HL=SP 

39 ADD HL, SP 

2B DEC HL Point to high byte of # 
of output parameters. 

46 LD B, (HL) Get high byte of # of 
output parameters, 

2B DEC HL Point to low byte of # 
of output parameters. 

4E LD C, (HL) Get low byte into C 

F9 LD SP, HL Assign new SP value. 

D5 PUSH DE Save original DE value. 

110600 LD DE,6 Offset from SP to start 
of parameter list. 

19 ADD HL,DE Point HL to parameters. 

1100CO LD DE, cooo Destination address in 
bank RAM for storage of 
Parameters. 

EDBO LDIR Move the parameters from 


the stack to the RAM in 
the expansion bank. 


D1 POP DE Restore DE data. 

C1 POP BC Get # of parameters back. 

D5 PUSH DE Save DE again. 

FS PUSH AF Save AF. 

2B DEC HL Point DE to top address 

ES PUSH HL in stack where parameters 
53 


UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


EXTRA MEMORY 


EXTRA MEMORY 


By: Charles Bothner 


DL POP DE J were stored. 

A7 AND A Clear carry, if set. 

ED42 SBC HL,BC Offset HL by number of 
parameter locations. 

010800 LD BC,8 8 bytes on stack to be 
moved. 

EDB8 LDDR Move the stored register 


data to recover the stack 
space previously occupied 
by the parameters. 


DS PUSH DE Point SP to start of the 

El POP HL stored register locations 

23 INC HL 

FQ LD SP, HL 

Fl POP AF Restore original register 

D1 POP DE values. 

C1 POP BC 

El POP HL 

DDES PUSH IX Put the return address on 
the stack 

CDxxxx CALL xxxx Call the routine in the 


expansion bank which 
makes use of the passed 


parameters. 
FB EI Enable the interrupts. 
c9 RET Return to the CALL BANK 
routine. 


I have also developed a routine for loading parameters onto 
the stack within a called expansion bank routine when the 
ealling routine requires paraneters to be input rather than 
output to the called routine but I will save that for next 
time. 


A brief explanation of the expansion bank hardware operation 
may be in order. The following refers to the schematics 
which were published in your last edition. U10, U11, and U18 
on the expansion bank controller board are used to buffer 
the address and data lines which are not already buffered 
inside the 2068. U19 provides bidirectional buffering of the 
data to and from the expansion banks. U21, U3, U4, and U7 
provide the full port address decoding for either reads of 
or writes to ports FC and FD. The port FD read function is 
hot utilized at the present time, U17 latches the 3 high or- 
der data bits that are transmitted from the computer when a 
port FD WRITE command is executed. The latched data is then 
decoded by U13 into a one-of-eight outputs for selection of 
the appropriate expansion bank port commands. 

The subsequent write to or read from port FC will utilize 
the latched U13 output to determine the funetion being 
executed. For example, a read from expansion bank port 40H 
will be the low nybble of the currently selected banks chunk 
mask. The bank was selected by sending the bank number to U2 
via a write to port BOH. U1 decodes the output of U2 to 

54 


UPDATE MAGAZINE OCTOBER 1988 


UPDATE MAGAZINE 
EXTRA MEMORY 


OCTOBER 1988 
EXTRA MEMORY 


By: Charles Bothner 


select one of the 15 possible banks. U15 is used to deselect 
all chunks in all expansion banks either during a power up 
reset or by writing a 0 to port COH. Uid is used as a con- 
trolled deselect of chunks common to all expansion banks 
when a specific chunk is to be reassigned to a new bank. 
(This is done by the BANK ENABLE routine in the home bank 
RAM.) The rest of the logic on the controller board is 
straightforward combinatorial logic to select the required 
control functions. 


Proceeding to the schematic for the individual expansion 
bank boards, we see that U6 is used for selection of the ap- 
propriate chunk selection when memory read/write is active 

The memory chips on the board will only be enabled if the 
specific chunk was previously assigned to the bank. This is 
determined by the state of the U3, U4, U9, and W10 
registers. They are clocked by a write to expansion bank 
port 40H of the required chunk mask which is presented to 
the D input pins of the registers. The clear pins are 
directly driven by the chunk deselect outputs of 014 on the 
controller board. Ul is used to determine the status of the 
bank. Bit 2 is read back as a low to verify that a bank is 
really present when testing for banks during the system 
initialization. Bit 3 is used (via U8) to determine whether 
any chunks in the system chunk mask are currently assigned 
to this bank. A low indicates that one or more chunks are 
active in this bank and a high read back indicates that no 
chunks are currently assigned to the bank. U12 is used to 
pull the BUSISO line low whenever a chunk in the bank is ac- 
tually being read or written to. 


This is a quick summary of ‘overall circuit operation. I’m 
sure there will be questions from your readers so we will 
try to answer them in future articles. Now that the basic 
system hardware and software are in place, the big job 
remaining is to develop useful software for the ROM expan- 
sion banks and available space in the home bank to make use 
of the expanded memory. Some of your readers that are 
familiar with the home ROM code may be able to help out on 
this proect. be 


One last item for this time. I am enclosing a disk contain- 
ing the clock setting and reading routines for the circuit 
which was shown in the last article. You can list them out 
on whatever printer you prefer. Next time we will start out 
with a listing of the debugged home ROM code. 


Note: For those readers who have a need, 
UPOATE will supply the tvo nissiag items: sincerely, 


1. Copy of disk wentioned, Oliger or Larken 
forpat- $5.00 for postage and handling. Cc y Bethe, 
2. 26 page code listing starting at SYSCON 
SEEA hex through 683F her.- $8.00. fed.) Charles G. (Chuck) Bothner 


55 
UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


The CABLE COLUMN 


This feature column, by Bill Cable, starts with this issue. There are several 
excellent programs in this one episode. All of these programs will be consolodated 
on one ISSUE DISK and ISSUE MDV CART. There is just barely enough space on one mv 
cart to contain them all. This probably sets the record as the largest offering of 
QL software in one disk or cartridge EVER. at anything near the price.. Bill 
describes each in the following articles. The first article explains a lot that most 
of us do not know about ARCHIVE, why we should use it, and how to use it. Then he 
gives us a tutorial on using ARCHIVE. ‘The articles following are SOFTWARE programs 
that are for ANY QL computer, with or without expansion devices. 

The second article brings the software "REFIELD" and is a mini manual on what 
REFIELD does arxi how to use it. 

The third article brings another software "HELPER" which is a set of TOOLKIT 
functions for any QL computer. 

The fourth article brings another software "SCAN" which also gives the actual 
listing of the program, extensively documented with REMarks for those who would like 
to key in the program or learn its programming. 

The fifth article is about a Math program for the kids which will be included in 
the "Cable Disk and MDV Cart". 


woop AND WIND COMPUTING 


Bill Cable Cornish, HH 03745 : 603 675 2216 


WHY USE ARCHIVE ? 
Bill Cable 


This is an open letter to all QL users to urge you to use ARCHIVE. 
There are many new US QL users out there plus a lot of older ones who 
have virtually ignored the ARCHIVE database program supplied with the 
QL. Maybe you took a cursory look at it and decided because it doesn't 
have any immediate flashy screens and it has a large set of commands 
that have to be learned that it wasn't worth the effort. Although it is 
not real flashy at first,it can be made flashy, but that is not the 
point. It is a workhorse. It can manipulate and organize whatever 
information you put into a database with amazing speed and ease of 
effort. Unfortunately, even if you know the language you can't do much 
until you enter enough information to manipulate. So it does take an 
effort. But you can also purchase ready made archive programs. These 
programs are run within the ARCHIVE environment and provide specific 
services to the user. You may still have to enter the data but the 
programs make it as easy as possible. There are several address 
databases available and perhaps other software as well. 


I would also like +o urge more programmers to use this language for 
program development. It works very well for complex business systems 
and many other applications where QL users would be willing to pay for 
software. 


Below 1 will give 12 reasons to use ARCHIVE. I hope this will convince 
some of you nonusers to explore it a little and see what a wonderful 
piece of software you got for nothing. Next, I will point out a few 
shortcomings of ARCHIVE. After all, I don't claim it to be perfect. 
And last, I will give a mini ARCHIVE lesson for beginners which will 
include a single line of ARCHIVE commands which will calculate and 


6 
UPDATE MAGAZINE ? OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


print on the screen how many countries of the world have a population 
density less than the US and what their sum total population is, using 
the Gazet database provided on your database cartridge. Beat that, 
HyperCard! Maybe that will whet your appetite for extracting trivial 
information from Gazet. 


12 Good Reasons To Use ARCHIVE 


1. The price is right. That lonely cartridge is setting there covered 
with dust. All you need to do is open your manual, press <Fl> and 
you are on your way. The supplied database, Gazet, gives you some~ 
thing to play with. At the end of this letter you will find a mini 
ARCHIVE lessons for total beginers. 


2. There is a great need for information handling. All of us could 
use more help in storing and organizing information in our lives. 
This is what a computer does best. ARCHIVE provides a very good 
environment to handle information. You can do it yourself or buy 
ready made prograns. 


3. Learning to use a database is important for all serious computer 
users. The concepts used in ARCHIVE are the same used in other 
databases. Learning ARCHIVE makes learning others easier. 


4, It is universal among all QL users and is not protected. There 
are a few new database systems beside ARCHIVE for the QL and it 
nice to have a choice but it will be some time before a large number 
of us owns a copy. 


5. There is an IBM compatible version of the PSION progrrams ($100). 
So any work done on the QL can be transferred to the IBM compatible 
environment. 


6. The ARCHIVE operating system and language is very well designed. 
I have systems of procedures with over 70k of source code. I find 
ARCHIVE's behavior completely reliable and predictable. No lockups 
or program crashes. Whenever I think I have found a system bug and 
track it down it turns out to be my bug. In my opinion it is a at 
least a couple of notches better than the other PSION programs. 


7. The language is excellent, It is like a structured SUPERBASIC with 
no line numbers. Some commands differ but it is procedure oriented. 
The built in editor is good. If it had a search/replace no other 
editor would ever be needed. Its automatic indenting makes program 
legibility very good. I hardly ever list out a program in hardcopy. 
I can do all my design and debugging on screen. Error messages are 
very good. Leaving out an ‘endif’ etc. cause a structure fault mess- 
age that is a heaven send. Errors messages pin point the offending 
procedures by name. Errors can also be totally supressed to make 
friendly crash proof programs for others. 


8. Archive is the best place to keep the source of any information des- 
tined to ABACUS, EASEL, or QUILL. Because it has a language, you can 
restructure the information in any way desired for the other PSION 
programs. You can print fancy reports to files for import to QUILL. 
You can send information and numbers to ABACUS for easier manipula- 
tion. you can send summary information to EASEL for graphs. You have 
total power over your information 1f you know how to use ARCHIVE or 
purchased a program from someone who does. 


57 
UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 


10. 


li. 


12. 


UPDATE MAGAZINE 


Archive has excellent number crunching power. Much better than 
SUPERBASIC,. 


Compared to some other databases, its handling of fields, sorting, 
and ordering is nice and straight forward although maybe not as 
flexible. It can order a 2000 record file in 2 minutes. Not super 
fast but very good for most applications. It can handle many files 
at once. 


It can be made to do a lot even on an unexpanded machine. Programs 
can be broken into parts and loaded and run automatically as each 
part is needed. This allows more free data area and running program 
too big for memory. You can also write programs that write programs 
and merge and run them without restarting anything. A program I 
wrote to easily change the fields of a database (REFIELD), takes 
advantage of both these properties. 


It has a separate screen editor which makes complex screen design 
and construction relatively easy and different screens can be loaded 
at any time. : 


Some limitations of ARCHIVE 


1. 


iS) 


The worst problem is the possiblility of corrupting a database file 
by ‘opening’ it for insertions, alteration, deletions and not clos- 
ing it before turning the computer off, losing power, or QL crash. 
The fact that this happens mandates keeping multiple backup copies 
Any time changes are made to the database back it up. Backing up is 
important for any computer user anyway but beginners are often slow 
to learn this until they really get burned. Using microdrives calls 
for even more caution. If your QL unpredictably locks up, get it 
fixed or be very careful. This may appear to make ARCIIIVE too 
dangerous to use but in practice, if you back up you will lose 
little if anything ever. When ‘looking’ there is no danger. There 
are programs to recover ARCHIVE files but they are not easy to use 
and nothing can be guaranteed. Preventive action is safest and best. 
I like to use 2 or 3 backups which I keep alternating between. I put 
the day of the year in pencil on the backup. That way I can find 

my latest easily. 


No detailed documentation of Archive. I think the ARCHIVE section 
of the QL manual ig pretty good as far as it goes. There are a few 
typo mistakes in the examples but it is worth using as a guide. 
The sections defining each command and function and error message 
should be studied carefully. There is ARCHIVE MASTER ($45) from RMG 
enterprises. I haven't seen it. Also TAKING THE QUANTUM LEAP ($26) 
from TINE DESIGNS is a more general book about the QL. 


Slow screen handling. You can design very nice screens and data 
displays but you can't get around the screen as fast as you would 
like. This may be part ARCHIVE and part QL. 


No data arrays allowed. There are field related functions that use 
field numbers as indexes which are very handy. You can make a dummy 
database and use it like an array. Position can be one index and the 
field number the other. If it is in RAM it will be fast. 


On an unexpanded machine it is easy to run out of memory when doing 
selections and orderings of large databases. 


58 


UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


oO 


Not much software yet. This will improve. There is a good address 
database from EMSOFT (MAILBAG), which will handle printing labels, 
postcards, repeat letters. I have a utility to allow easy addition 
of fields (REFIELD) to any already created databases. I have a 
tutoring database (DBTUTOR)to help learn any subject. I am work- 
ing on a very comprehensive program for the small business to handle 
all record keeping, invoicing, check writing. It has been under de~ 
velopment for over a year. I also offer an address database 
(DBADDRES). There are probably more US ARCIIIVE based programs not 
known to me. 


Conclusion 


We are very lucky that PSION did such an excellent job developing this 
program. It will allow your QL to do first rate work for you for many 
years to come. You only need to learn a little about using it. 


Mini ARCHIVE Lesson For Beginners 


1. Turn on or reset your computer. Put cartridge labeled 'Database’ in 
the left microdrive slot (mdvi_>. Press <F1> key. 


2. ARCHIVE will load and you will see a little '>’' at the bottom of the 
screen waiting for a command. All commands can be seen by pressing 
<F3> and watching the upper center box. If you type a command and 
<ENTER> it will be executed. Press <F5> to cause the last command 
line to be retyped (an easy way repeat a command or correct a 
mistake ). Pressing the <ESC> key aborts a command. 


3. You were given a database,Gazet, with information about all the 
countries of the world on your database cartridge. Let's play with it 
for a little while. 


look “mivl_gazet"<LBNSTER> {access the database} 

print count ()<EHTER> {total records) 
display<ENTER> {display a record with field names and values) 
select continent. S. AMERICA" <ENTER> {select a sub group) 

print count () <GNTER> {how many included) 
display<BNTER> {display again? 

order pop; a<BNTER> forder population in ascending order) 
last<ENTER> {most populated) 

back<BNTER> {next most populated) 

first<BHTER> {least populated? 

next<ENTER> {next least populated) 

reset: print count () {reset back to all countries) 


(Try on your own ordering and selection) 
reset:select pop/area<.0229:let p=0:all: let p=p+pop:endall: print count();":";p 


{above is the promised command. US density = .0229, notice the result) 
{play some more} 
quit<ENTER> - {always quit when done?) 


You just learned the basics of using a database. 
ro 


59 


UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


REFIELD PROGRAM vi.lu 


An ARCHIVE Program by Bill Cable 


A. What does it do? 


Yo 
Refield is a large program running under ARCHIVE that allows one of add, 
restructure, delete fields from your ARCHIVE database. If you are familiar 
with ARCIIIVE programming you can do that on your own but it is tedious and 
easy to make errors. There are also ways to do it by exporting to ABACUS 
and re-importing. Refield attempts to make it fun and error free, even for 
a beginner. It works on an unexpanded machine. 


What is a field you ask? Well it is a category to hold information for each 
entry in your database. The Gazet database provided with your computer has 
these fields for each country : country%, continent%, capital$, currency$, 
languages, pop, area, gdp. For each country record we have this 
information. Now if we also wanted to keep track of miles of roadway in 
each country we would have a problem. With Refield it would be very easy to 
add a field called 'roads'. What would happen is that it would make a new 
database with the extra field and copy the records over. Suppose we named a 
field badly in our database. With refield we could easily rename the field. 
Suppose we were running out of room on our cartridge and there were a few 
fields we could do without. With refield we could make a new database and 
leave out those fields to gain a little more room. Or we could break the 
database into two parts and keep them on separate cartridges. It takes the 
tedium out of such problems and is fun to watch because it tells you what 
it is doing as it chuges along. 


B. Starting up 


1. Set up files in RAN if you want fastest running 

2. Start archive normally 

3. Type: run "{) step1"<ENTER> where {) = device holding refield 
programs (mdv1_,mdv2_,f1p1_,flp2_> 

4. Follow directions 


C. Brief Ixplanation On How To Use The Program 


To start from archive : run ' {)stepl'<ENTER> {) = device programs are on. 
It will work on an unexpanded QL but only works in 80 column mode. 

The Source database is what you have and the Target database is what you want. 
It transfers records from the Source to the newly defined Target. 

The program is divided into stepl_prg to step7_prg which are run in sequence. 
It works by writing the procedures needed to make the Target database. 

These are merged and run at the appropriate times. 

Prompts are usually at the very bottom of the screen. 

All responses require the <ENTER> key being pressed as part of the response. 
Possible answers to prompts are often within [ 1] and separated by /. 
Comments within 6 9 clarify prompts. 

Comments within ¢ )? indicate action program is taking. 

Often just <ENTER> can replace the normal expected response. 

Error messages appear at top right of screen. 

You can usually restart the step if an error occurs. 


This series of procedures works with an archive database. It allows for the 
addition of new fields, removal of fields, reordering of fields, renaming of 
fields, changing a numeric field to a string and viceversa. It uses your 
original (Source) database as a template and creates a new (Target) database 
with the changes you want. The Source records are then transfered to the Tar- 
get database. You are given the opportunity to select and order the Source 
records to be transfered so the Target database can have the structure you 
want. One use of this program would be to make an exact copy of your database 
because the new version would be cleaner as it would not have the holes and 


UPDATE MAGAZINE 60 OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


disorder of the original caused by record deletions and alterations. 

I have attempted to trap most errors and give ample directions. You should 
have some knowledge of archive fields and the select and order commands. If 
you use ramdisk you should set that up before starting archive. The procedures 
have been broken up into a series of steps so they will work on an unexpanded 
machine. If you don't have ramdisk or floppies then put your Source database 
in mdvl_ after archive is loaded and have the refield programs in mdv2_. Near 
the end you will be notified that the programs are no longer needed so you 
can remove them from mdv2_ and put the Target cartridge there so the transfer 
can take place. The Source and Target files can be on the same device but must 
have different names. 


D. Uints about using this program 


1. Pressing <ESC> a few times will stop the program and get command mode. 

2. Typing help<ENTER> when in command mode will fix screen and give help. 

3. When an error is detected you will be given a message in top right of the 
screen with a prompt. Then you usualy are given the option of restarting 
the step you are on or from stepl or going to command mode. 

4. Some errors may not be detected and will put you at command mode with an 
archive error message and a line of code from the program. You will have 
to deal with that as best you can. Typing help<ENTER> will give help. 

5. Some errors cause archive to lose track of what files are accessed. If you 
really get stuck, quit archive and start it up again. 

G6. I have used the archive convention of field numbers (#) starting at 0. so 
if a database has 6 fields, the field numbers will be 0 through 7. 

7. I gave the field name ‘tag’ a special meaning. If you give the Target data~ 
base a new field called ‘tag’ it can be given a special value so that each 
record in the Target database will be given a unique increasing integer in 
the 'tag' field. 

8. Apparently the basic rules of field names are : up to 13 characters, the 
first character must be A-Z, a-z then 0~9 and _ can also be used. If a 
field ends in $ then it is string, otherwise it is numeric. I may not catch 
all illegal field names. Especially if you use an archive reserve word in 
a field name. This could cause stepS to crash. Type help<ENTER> to restart. 

9. When you are defining the Target fields, giving it the same number of 
fields as the Source and making then the same will create an exact copy 
with a 'cleaner’ structure. 

10. If you have a new name for an old field, you enter the new name where you 
want it and give the Source field # when prompted. 

11, With a completely new field you will be prompted in step 6, if you want it 
to have a default value different than for string or O for numeric. 

12. If you give a numeric Source field a string name in the Target database 
it will automatically mke the conversion when transferring. 

13. While defining target fields, a little note (S#, where # is the Source 
field #) is put by the Target field name when Target value = Source value. 

14, Using ramdisk for programs, Source, and Target is pretty fast. Some mess~ 
ages appear and disappear instantly. Using all microdrives can take a very 
long time for large databases. 

15. If you want to multitask, you can shut off the screen updating of progress. 


BE. PROGRAM STRUCTURE 


There are 7 files of programs chained together 

stepl_prg : Asks for device programs are on ( mdvi_,mdv2_,flpi_,raml_ ,etc.). 
It checks that temporary files can be written to that device 
and provides these detailed instructions. 


step2_prg : Asks for Source database device and file name. It opens the 
Source database for ‘look’. 


61 


UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


step3_prg : Creates an select/order procedure file on the target device 
and writes your select/order commands there. 


step4_prg : Merges with the select/order procedures and carries them out 
Only activated if selecting or ordering are requested. 


stepS_prg : Makes creater procedure file for Target database. Prompts for 
Target fields. Can have partial or complete duplication of the 
Source. You can type in a Target field name or get it from the 
Source. Each new name can get its value from the Source. A temp- 
porary database is created on the programs device. 


step6_prg : Makes transfer procedure file. prompts for special values for 


new fields (normally string = and numeric = 0). 


step7_prg : Merges creater and transfer procedures. Gets Target device and 
file name. Creates Target database and does the transfer. 


F. BRROR/ILGLP Message 


Suggestions 

Type ‘help<ENTER>' to get this screen again when in command mode” 
Make sure specified devices and files are correct 

Make sure a necessary drive is not full 

Nake sure tabs aren't removed from a necessary cartridge 


Jot down error number and look it up on page 53 in archive manual 
Last error # = 

If you can fix the problem without closing files type start<ENTER> or 

Try starting from stepl again or that failing quit archive and restart 


Specified refield programs device 
Specified Source database : 
Specified Target database : 


Restart this step -{( y/nl1 : 
Restart with stepl - [ y/n] ; 
Close all files before stoping - [ y/n 1 : 


C. Support software development 


This software is not intended to be free. If you obtained it from UPDATE 
Magazine or directly from me, Thank You. If you got it for free and find it 
helpful, please support my effort in trying to make good applications 
software for the QL. Send me $5.00. 


Bill Cable 

Wood and Wind Computing 
RR 2 Box 92 

Cornish, NH 03745 USA 
603-675-2218 


Specializing in Business Applications for the QL 


You should find this to be a very reliable and flexible Program with lots 


of diff P 
taatured: toate ene Please notify me of any problems or useful 


62 
Bill Cable Narch, 1988 
UPDATE MAGAZINE ay aeee 


OCTOBER 1988 UPDATE MAGAZINE 


HELPER 


A SUPERBASIC Program for the QL by Bill Cable 


The helper program is a set of useful toolkit-like functions 
presented in a menu format. It. would be very useful to anyone 
without any of the toolkits available for the QL and works on 
unexpanded machines. 


The basic functions provided : 


1. Directory of a device with file copy,delete, view options. 
The directory is constantly displayed while the functions 
are being carried out. 

2. Formatting a device 1 to 10 times. 

3. Copying the contents of one device to another (clone). 

4. Set time and date. 

5. Load and run a program from a specified device. 

6. Set windows and exit to QDOS, 


There is a fair bit of input checking to prevent errors happening 
but not every one can be prevented. Trying to copy a nonexistent 
file is an example of an error that will stop the program. I 
decided not to use WHEN ERROR to trap errors because of the system 
bug with that function and the objective to keep things simple. If 
it does crash it won't hurt anything just note the cause of the 
error and restart the program by typing : ‘run<ENTER?’. 


The code is straight SUPERBASIC. 1 indented the multiline IF 
statements for easier reading. It would be easy to customize and 
add your own special functions. The single line 'IF' statements 
don't require an ‘ENDIF’ and I wasn’t always consistent in 
including one. I prefer using them for easier program reading. 


To Run : 


type : ‘'lrun ()helper'’ where {}=device holding helper 
*  mdvi_,mdv2_,f1p1_, f1p2_ 


You are warned about errors and encouraged to use <CTRL><F5> 
to freeze screens and <F5> to unfreeze. Note that these 
always work on the QL. 


You are next presented the HELPER Menu which should be self 
expanatory. Experiment a little. The date and time need be 
set only once after the QL is turned on even if it is reset. 
Exit to SUPERBASIC to quit. I hope you find it helpful. 


63 


UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


ARITHMETIC 


An Arithmetic Drill Program for the QL By Bill Cable 


This program is designed to aid children learning arithmetic. It 
uses only whole numbers 0 through 9 for addition, subtraction 
multiplication, division. Numbers can get as large as 81 (9x9). It 
picks the numbers randomly and presents the problem on the screen 
waiting for the users answer. The faster the response the better 
the rate (problems per minute). The challange would be to have a 
high rate with good accuracy. The results can be printed out so a 
printed record of progress can be kept. The elasped time is also 
kept so one can determine when they have been working for a 
certain period of time. 


The program is pure SUPERBASIC. The Menu portion uses mode 4 while 
the problems are flashed in mode 8 to get big characters. There 
should be no way to crash the program except <CTRL><space bar>. 


To Run 


Type : ‘lrun ()arithmetic' where {)=device holding program 
mdvi_,mdv2_,f1lp1_,flp2_ 


You are first asked your name for display purposes and to use 
on the print out (if any). 


Next you are asked if you want a print out. It would be a 
good way to record long term progress. The rate of doing 
problems should slowly increase. You must keep the printer 
online if you do. 

If print out is wanted you are asked for an 

identifying entry such as the date. This will 

allow you to keep track oflong term records. 


Next you are presented a menu of choices : 
- Addition 

- Subtraction 

- Multiplication 

Division 

- Progress (anytime) 

- Quit (anytime) 


AUDA HD 
t 


A single key press will activate your choice. If you choose 
to do problems you will be given the problem and the cursor 
will flash in the place for the answer. When you give enough 
digits for the answer it will be checked. If right you will 
go on to another. If wrong you will be asked again. Pressing 
the 'p’ key at any time will show your progress. I+ is a good 
way to take a break as it stops the clock. Whenever you see 
your progress a print out will be made if you wanted print 
outs. Pressing 'q' will get you the menu and pressing 'q' 
again stops the program. Happy Arithmetic 


64 


UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


SCAN 


An ARCIIIVE program by Bill Cable 


Scan is an ARCIIIVE program that will work with any database. It 
allows one to see up to three selected fields displayed on a line 
for all currently active records. It is a fast way to scan through 
the file looking for particular values or trends. If any of the 
fields are numeric then they are displayed with a specified number 
of decimal places and their sum is printed at the end. The sum may 
or may not have meaning depending on what the field is. The sum 
will appear anyway. The output can also be sent to the printer at 
the same time. This could be handy for many purposes. You could 
list names and phone numbers from an address database to keep by 
your phone. The listing will be of the currently selected/ordered 
structure of the file. Pressing the <space bar> will pause the 
output and allow for continuation or abort. 


This program is nice because it will work with anyone's database 
and will not interfere with any already existing procedures or 
variables as long as they are not named ‘scan’. It makes use of 
the ARCHIVE fieldt(),fieldn(),fieldv() functions so it can deal 
with any database without having any previous information about 
it. The only way to crash it if my code is good, is to call it 
without having an active ‘look’ or ‘open’ database file. I 
documented the code heavily to show my logical process. In a way 
it makes the listing hard to read. You may want to omit or delete 
all the ‘rem’ statements to shorten it and see what real ARCIIIVE 
code looks like. To get the ARCHIVE editor, type : ’edit<ENTER>' 
and follow instructions in center box. 


To Run : 
Start ARCHIVE as usual 


Access your database with ‘look’ or use the Gazet database 
look "mdvl_gazet" 


Load or merge scan as : - 

load "{)scan"” where {)=device holding scan 
mdv1_,mdv2,f1p1_,flp2_ 

Select or order if you want 

Type : 'scan<ENTER>’ to start scan 

Direct output to printer if you want 

The fields of your database will be displayed. Give the 

numbers of up to 3 you want on the output line for each 

record. If the field type 4s numeric you will be asked for 

the number of decimal places to show. 

The listing will begin. Press <space bar> to pause. 


It will print any sums and pause. Stops When you press <ENTER> 


65 
UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


proc scan 
rem SCAN: A procedure for listing all current records on the screen and 
rem to the printer. It prints one line with up to 3 selected fields for 
rem each record. It asks for decimal places for the numeric fields to be 
rem displayed. It prints the sum of any numeric fields displayed at the 
rem end of the listing. A <space bar> press will pause it and then it 
rem can be continued or aborted. It will work with any database you have 
rem accessed by 'look' or ‘open’. All variables are local so it should 
rem not interfer with your procedures or variables. All these ‘ren’ 
rem statments can be removed to shorten it. 


rem 

rem To Use: 

ren 1. Start ARCHIVE as usual 

rem 2. Access your database by ‘look’ 

rem 3. Load or merge scan : ‘load {)scan' or ‘merge {)scan’ 
rem 4. Select or order you records you want to see if necessary 
rem 5. Type : 'scan<ENTER>' and follow prompts 

rem 6. It quits after reaching the end or you abort it 

rem 7. Call it any time by typing its name after it is loaded 
ren 

ren 


rem Set up all variables as local so no interference with other procedures 
rem All other symbols are commands or functions defined in archive section. 
rem 

rem Uses: f1,f2,f3 are field numbers or -1 


rem di,d2,d3 are decimal places or -1 

ren £1$,£2$,f3% are used to hold values in form for display 
rem s1,s2,s3 are used to hold sums of numeric fields 

ren 


local i8,i,j,k,f1,d1,f18,s1,f2,d2, f2$,52,f£3,d3, £3$,s63, print_out 
rem 

rem Initialize potential decimal places for three fields to -1 
rem 
let 
rem 
rem 
rem Set mode 0 for large screen, print heading, if no, file is open an error 
rem will occur at ‘print count()' since there is no count 

rem 

mode 0: print "Scan up to 3 specified fields of ";count();" selected records " 
print at 2,2;"The records will be scrolled by with selected fields on a line" 
rem 

rem Loop until answer is 'yes' or ‘no’ 


let dé 


+ let d3=-1 


rem 
let i$= while 1$<>"y" and i$<>"n" 
print at 4,0;rept «" ",80); 
input at 4,2;"Output to printer also { y/n J] : ";1% 
endwhile 
rem 
rem Set print_out 'true' if ‘yes’ or 'false' if ‘no’ 
rem 
if ig="y": let print_out=1: else : let print_out=0: endif 
rem 


rem Print out all fields with field number in front of it. If more than 50 
rem fields they are not printed 

rem 

els : print "Fields that can be scanned": print : let i=0: let j=2: let k=0 


66 


UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


while i<numfld© 


print at j,k;num(i,2);" “dfieldn(id: let i=itl: let g=jti 
if j=12: let k=kt15: let j=2: endif 

.., @ndwhile 

‘rem 


rem Prompt for first field of scan. If it is not a number or out of range 
rem return otherwise set f1 to the field number 

rem 

input at 15,0;"First field to include in scan [ #/<ENTER> if none J: ";41% 
let fl=int(val(i$)): if £1=0 and i8$<>"0": mode 1: return : endif 

4£ £1<0 or f1>numfldQ-1: mode 1: return : endif 

rem 

rem Get decimal places desired in listing if field is numeric, set sum = 0 


rem 
if not fieldt (fl) 
print " Decimal places for "+fieldn(f1)+" : "3: input 18;: let dl=val (is) 
if d1<O: let d1=0: endif : if di>10: let d1=10: endif : let s1=0 
endif 
rem 
rem Prompt for second field to scan. If not a number or not in range set 
rem £2 = -1 otherwise f2 set to the field number 
rem 
input at 17,0;"Second field to include in scan [ #/<ENTER> if none ] : "318 


let £2=int(val(i$)): if £2=0 and i$<>"0": let f2=-1: endif 

if £2<0 or f2>numfld(-1: let f2=-1: endif 

rem 

rem Get decimal places desired in listing if field is used and numeric 
rem set s2 = 0, keeps track of sum of field 2 


rem 

if £2<6>-1 and not fieldt<f2) g 
print " Decimal places for "+fieldn(f2)+" : ";: input i$;: let d2=val (i$) 
if d2<0: let d2=0: endif : if d2>10: let d2=10: endif : let s2=0 
endif 

rem 


rem Frompt for third field to scan. If not a number of not in range set 
rem f3 = -1 otherwise set £3 to field number 
rem 
input at 19,0;"Third field to include in scan ( #/<ENTER> if none 1] 1 "3418 
let f3=int(val(i$)): if £3=0 and i8<>"0"; let f3=-1: endif 
4£ £3<0 or £3>numfld(-1: let £3=-1: endif 
rem 
rem Get decimal places desired in listing if field is used and numeric 
rem set s3=0, keeps track of sum of field 3 
rem 
if £3<>-1 and not fieldt(f3) 
print " Decimal places for "+fieldn(f3)+" : input 1$;: let d3=val (is) 
if d3<O: let d3=0: endif : if d3>13: let d3=13: endif 
endif 
rem 
rem Print out heading and fields selected and message about halt 
rem 
cls : print "Scan selected fields of ";count();" selected records" 
print at 2,2;"Press any key for temporary halt" 
print at 3,2;"The number in the left column is the record number” 
print at 6,0;"Rec #"; tab 11;fleldn(f1); 
if £2<>-1: print tab 31;fieldn(f2);: endif 


67 


UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 


if £3<>-1: print tab 54;fieldn(£3);: endif : 
ren 
rem If print_out warn to put printer online. 


rem 
if print_out 
print at 4,2;"**k«* 


lprint "Rec #"; tab 11;fieldn(f1); 


if f2<>-1: Iprint tab 31; fieldn(f£2);: 
if £3<>~-1: lprint tab 54; fieldn(£3);: 
endif 

rem 


Make sure printer is online 
lprint "Scan selected fields of ";count();" selected records”: 


UPDATE MAGAZINE 


print : print 


Print heading to printer 


**KK": print at 8,0; 


lprint 


endif 
endif : 


iprint : lprint 


rem Set to beginning and begin printing line by line until end of file 


ren 
first : while not eof () 
rem 
rem Check for key press signaling pause request. Allow for restart if only 
rem if <spacebar> pressed otherwise return 
rem 


rem 

if inkey(@)<>"" 
print : 
if getkey(<>" ": 
endif 

reu 


mode 1: return : 


print "Press <space bar> to continue or any other key to stop: "; 
endif : 


print 


rem Store value of 3 fields to f1$,f2$,f3% making decimal if numeric 


rem 
if fieldt(f1) 
let f£1$=fieldv (fl): 
A£ £2<6>-1 
if d2= 
endif 
if £3<>-1 
if d3=-1: 
endif 
rem 
rem Keep sum of any numeric fields 
rem 


else : 


else : 


1: let f2$=fieldv(f2): 


let £3$=fieldv(f3): else 


4f d1<>-1: let sl=si+fieldv(f1): endif 
1£f d2<>- let s2=s2+fieldv(f2 endif 
af d3<>- let sG=sS+fieldv(f3): endif 
rem 


rem Start printing line. 


let f£1$=dec(fieldv(f1),d1,12): 


endif 


let £2$=dec(fieldv(f2),d2,12): endif 


let £3$=dec (fieldv(£3),d3,20): endif 


First record number then first field then 2nd and 


rem 3rd if the are defined. Likewise print to printed if print_out true 
rem 
print recnum(); tab 8;f£13; 
if print_out: lprint recnum(); tab 8;f1$;: endif 
if £2<>-1 
print tab 28;£2$;; if print_out: lprint tab 26;f28;: endif 
endif 
4£ £3<>-1 
print tab 48;£3%;: if print_out: lprint tab 48;£38;: endif 


UPDATE MAGAZINE 


68 


OCTOBER 1988 


OCTOBER 1988 


endif 
rem 
rem Finish print line 
rem 
print : if print_out: lprint : endif 
rem 
rem Advance to next record 
rem 


next 
endwhile 
ren 
rem Listing done. Print out sums if any 
rem 
print : print "<";count();">"; 
if print_out: lprint : lprint "<";count(;">";: endif 
if did>-1 


print tab 8;dec(s1,d1,12); 
if print_out: lprint tab 8;dec(sl,d1,12);: endif 
endif 
if d2<>-1 
print tab 28;dec(s2,d2,12); 
if print_out: lprint tab 28; dec(s2,d2,12);: endif 
endif 
Af d3<o-1 
print tab 48; dec(s3,d3,20); 
if print_out: lprint tab 48;dec(s3,d3,20);: endif 
endif 
rem 
rem Wait for acknowledgement, set mode to 1 and return 
rem 
print : if print_out: lprint : lprint : endif 
print : input "Scanning Done. Press <ENTER>";1$%;: mode 1 
endproc 


UPDATE MAGAZINE 


Editor's comments: I learned more about ARCHIVE by reading these 
articles and a few hours working the programs than I could have in six 
months of study and experimenting without them. We can keep excellent 


programmers such a Bill Cable working for us ONLY IF we respect their 
propriety rights to their works and PAY THEM FOR WHAT WE GET. 

Frankly, I see dozens of SHAREWARE (IBM) softwares being given about, in 
this small city, and VERY FEW bother to send the author payment. The 
tenancy is for one to think of his friend as the giver, and not the author 
of the software. I sincerely hope that the Sinclair QL users will not 
destroy their software support by disregarding INTEGRETY. 


All of Bill Cables works in this issue will be in the October 88 "CABLE" 
ISSUE DISK and MICRO DRIVE ISSUE. You may Order the disk or send a mdv 
cart in for dubbing. Send orders or mdv cart to UPDATE, $20.00 postpaid, 
and specify "CABLE DISK". 


Also, you may send your thanks and comments directly to Bill Cable. If 
you expect a reply, please inclose a SASE. 


69 


UPDATE MAGAZINE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


UPDATE SUPPLY SUPPORT 


UPDATE ITEMS FOR SALE: ‘These items are purchased in bulk and can be offered 
at lower than most local prices. All prices include shipping. Order by 
"UD-#". Add 25% for Canadian orders. 


UD-4#1 Desk top Disk Case. holds seventy 5.5" floppies, nice smoked plastic 
with hinged top— $7.50 each 


UD-#2 Six outlet 115V Surge Suppressor— ON-OFF SW, 6' cord, 15 amp reset ckt 
breaker, ON-OFF led indicator— $19.95 each 


UD-#3 Six outlet 115V Surge Suppressor as above, includes EMI/RFI/Noise/Surge 
suppression— $27.95 each 


UD-#4 White Labels (same as UPDATE Mailing label), 5000 labels on continuous 
feed tractor form— $22.00 


UD-4#5 Diskettes 5.5" hi quality DS/DD 40 track, includes sleeves and tabs— 
$8.00 box of 10 


UD-+6 = Diskettes 5.5" Dysan Premium DS/DD BO track 96 tpi. Use for all 
Sinclair QL and TS-2068 60 track drives— $20.75 box of 10. 


UD-#7 Printer Ribbon Cartridge for Star Micronics 1000 series. Box of six 
cartridges— $39.75 (Single cart—$8.00). 


UD-#8 Un-Priced: UPDATE will order ribbon cartridges in units of six 
cartridges and ship to you with a invoice. Price depends upon size of _ 
cartridge and will be within plus or minus $5.00 of UD-4#7 above. 


UD-#9 PAPER, 2500 sheets 20 lb white bond, tractor feed, laser perf for easy 
tear off, standard letter size break down to 8.5X11"— $31.90 (Check locally, 
you may be able to beat this)— US orders only. 


THE FLEA MARKET 


Subscribers may participate FREE to move surplus items. Limit is one 3 line 
insertion per issue. Make the print Elite 12 characters per inch, line 
lenght of 76 characters, including spaces. No fancy printing. Use the 
following for examples of format. ba uy nek 


UPDATE SURPLUS items: For TS-2068: One Zebra 05-64 Cartridge— $16.00. One 
Tasman CPI— $16.00. 


One A&J Micro Drive for the TS-2068 plus about 15 cartridges. Has printer 
interface and is in working condition—$40.00 


One AMDISK III twin 3 inch Disk Drives in case with power supply and cable to 
fit all TS-2068 disk controllers. includes manual and 19 diskettes. Works 
great, just plug it in— $99.00. Know what your are buying! This DD is 
unsupported by software, but makes an ideal additional pair of drives. Data 
cable has 2 extra connectors for hooking up to other drives. 


ONE TS-2040 Printer (works A-OK)—$25.00. One Seikosha SP-1000 dot matrix 
printer, works now but print head beginning to skip eome pins—$55.00. 
70 
UPDATE MAGAZT.NE OCTOBER 1988 


OCTOBER 1988 UPDATE MAGAZINE 


UPDATE FLEA MARKET, Continued 
S-1000 items for projects: 5 TS-1000 ckt boards all chips AC— 7? ‘Iwo 
Oliger Color VDP boards OK— ? Several EPROM Read Boards— 7? A few ULA 


chips, Z-80 CPU's and Z-80 periphreal chips— ? ‘These parts will be given to 
anyone who needs them for building interface projects for the TS-2068 or QL. 


ONE TS-1500 like new—$35.00. ONE TS-1000 NEW—$30.00 (both have all 
assessories). 


For the hacker: a cornucodpia of electronics parts, diodes, transistors, 
IC's, relays, etc, on surplus circuit boards. Boards weigh about 2 pounds 
and must’ have over a hundred salvagable parts—$7.00 per board (cost nearly 
that to ship). 


UPDATE Magazine is a sister to GULF MICROELECTRONICS, which has a_ most 
unusual stock of hard to find IC chips, analog devices, regulators, CPU's, 
interface chips, power transformers, vacuum tubes, etc. If you are looking 
for something and cannot find it, its worth a CALL. 


One 1954 EDSEL—try $49000.00 or trade for new Mercades 


One Missouri Mule 49 years old, mean and uncooperative, unusual personality, 
can hear him bray from four miles away. Come and get him for free. Might 


pay you something. 


One island across from New York City. Indian tribe repossessing and 
reselling. Inquire for confidential deal. 


Prospector's map to lost gold mine in Nevada—$100.00 
Tickets to last year's Super Bowl 50 yd line, reduced price. 


Persons wanting FLEA MARKET items should CALL first to reserve the item 
needed. 


SOFTWARE AND HARDWARE SUPPORT FOR SINCLAIR COMPUTERS, (Comp) imentary listings) 


woop anwp winp COMPUTTI NG 


Bill Cable : RR 2 Box 92: Cornish, AH 03745 : 603 675 2218 
SPECIALIZING IN SERIOUS SOFTWARE FOR THE SINCLAIR QL 


i AMG ENTERPRISES | QL and TS-2068 SUPPORT: RMG Enterprises hes 8 
} 1x9 172 71H STREET © OREGON CITY, UR 97045 1 full Tine of support for both computers.  1S-2068 
1 saavess-7iy support includes al) disk drive systems, hardware and 


For our big 58+ page cataloy software. QL support includes most periphreals and 
sand $3,09—Refunded on Ist order many software items. 


T$-2068 Hardware Support: Disk Drive System, memory cartridges, EPROT 
programmer, Expansion ports, RGB Monitor Interface, Printer Interface: The 
Qliger Company, 11601 Whidbey Drive, Qunberiand, IN 46229, 


UPDATE MAGAZINE ae! OCTOBER 1988 


OCTOBER 1988 ‘ UPDATE MAGAZINE 


a 


Millenia K Disk and SFOOS Software Support: Munson Cockayne, 542 Trotter 
Court, Sanford, Fl. 32763. 


75-2068 Disk Orive System and Ran Disk Cartridge: Larken Electronics, 
AR-2, Navan, Ontario, Canada K4B 19. 


15-2068 Software to PLOT and Faint Color Screens to rarer; John 
McMichael, 1710 Palmer Drive, Laramie, WY 82070. 


T$-2068 Software, also AERCO FD-68 Software: Chi-Chia Chao, 73 Sullivan 
Orive, Morago, CA 94556-1209. 


ape Software: Herb Bowers, 2588 wWoodshire Circle, Chesapeake, VA 


Millenia K Disk and SPOOS Software Support: Cuyohoga Valley Software, 
615 School Ave., Cuyohoga Falis, OH 44221, 


75-2068 and QL Software: Paul Bingham, Box 2054, Mesa, AZ 85204. 


TS-2068 Software, plus AERCO FD-68 software: Jack Doheny, 590 
Rutherford Ave., Redwood City, CA 94061. 


75-2068 Software: Lemke Software, 2144 White Qak, Wichita, KS 67207. 


TS-2068 Support, and Magazine on’ tare: Byte Power, 1748 Meadowview 
Ave,, Pickering, Qntario, Canada LIV 368. 


Pree 


yaweenvoneeneeceenanne 


Dlanond Mike 11 and 
Show! Two great programs for only #10. 


Money Machine 11! The Ultiaate Word Gane 
based on a popular TV game show. 641. 


Vord Twister? Custoalze your own word- 
anarch puszie, VYooabullder! Easy-to-use 
sdvcational progras, Both for only $10. 


Fi 
only, Avallat 


Disk File Manager! Copy individual files, 
even on single drive system. Detailed 
ontalog, and aany other functions. #19. 


22-cent stamp 
cheok/aoney order 
73 Sullivan Drive, Ho 


TS-2066 PROGRAHS . 
can cenvenaucennan 


Gane & Graphics 


1 
Pixel Print PLUS! |i 
THE DESKTOP PUBL ISHEN 
i] i: Lanka Softvare 


What's the PLUS? H 
Sp. PERFORRANCE| A | 


gund inv 


Checkeut these SF! 


ee 4 


Syring! | 


on tape oF 
Ke 


Pixel Prin’ 
met] 


a) wYSTTS 
is 


& PLUS ly). 
YOR 178. 


on & 1/4" disk of tape. 


ead: 'Loap) 


a) avToUATIC eng Hanval line and 
Character adjussaents. 


2) BEprOne EM taLid’ nell flere. 
«Ey nar eg 
aa Ata 


6) COPY/ERASE/ INSERT/DELETE/UEH * | * 
7) AERCO/TASHAII/ARS CPT 


vert Omnicala (] to disk. 


CA 94566-1209 


UPDATE, MAGAZINE ie : OCTOBER 1988 


@) IEU/EPSON/PROWAITER Frinvers 
than att 


nore functions 
even nore 
use Progran 


Comeuter Repair: TS5-2068 and QL; Dan Elliott, RR-1 Box 117, Cabool, M0 


TS-2068 and QL: Curry Computer, PO BOX 5607, Glendale, AZ 85312-5607, 
TS-2068 Software: WJ Data Systems, 4 Butterfly Or., Hauppauge, NY 11788 


@. Comeuter Rerair: Also QUANTA SOFTWARE LIBRARIAN, 9015 Flicker Place, 
Columbia, "D 21045. 


THE SINCLAIR 288 Camcuter: Known dealers and suppliers are: ike Fink, 
555 W. 39th St., N.Y. City, 10018-1401. (212 695 1401), RNG Enterprises, 
1419 1/2 7th St., Oregon City, OR G7045 (503 655 7484), SHARP'S INC., RR-10 
Box 459, Mechanicsville, VA 23111 (804 746 1664). 


See other ads and announcements in this issue. The above are Just part 


of the supporters of QL, 75-2068, and 288 Computer systems. Others will be 
amounced as LFDATE receives more information that srecifys support areas. 


A caricature of the UPDATE News Room, relaxation between issues. 


Actually, the above photo is a courtesy re-print from NATIONAL 
GEOGRAPHIC MAGAZINE, but 1t closely resembles the neat efficiency 
of the UPDATE editorial office and your editor relaxing between 
issues. Across in the other corners of the office are equally 
neat TS-2068 Lab, Ql Lab, and A IBM AT clone system. The center 
of the office is taken up by a copy machine and a huge 
wastebasket, neatly overflowing with discarded ideas. 


7 
UPDATE MAGAZINE OCTOBER 1988 


THE UPDATE SOFTWARE LIBRARY 


Separate libraries for the Sinclair QL and TS-2068 


Most of the diskettes and inicro drive cartridges contain 


softwares and utilities 


the 
quarterly 
than one software plus all 


quarterly issue. 
given in the pages of UPDATE. 


“unconditionally guaranteed to please”. 


described or 
issue of UPDATE Magazine. 
of the 
Some will also 
Each disk or mdv cartridge is 


listed in 38 
Most will contain more 
utilities given in the 
contain other programs not 


The price of each 


named disk or mdv is $20.00 (postpaid). 


The Sinclair QL Software Library 


Both 


presented will run on the 


contain extensions for utilizing extra 
Disk format is DS/DD 80 track 96 tpi. 


functions. 


Disk and Micro Drive are supported. 
UNEXPANDED QL. 


All softwares 
But some may 
memory and tool kit 
Due to the 


cost of mdv carts and availability, orders for a issue series 


on mdv cartridge must be accompanied by a mdv 


UPDATE then records the programs 
UPDATE jis Just setting started with 
two Issue Series are offered at this time. 


Series are as follows: 


OCTOBER 88 "Cable Issue" 
The CABLE issue, on disk or mdv cart, 
contains the FOUR softwares given by Bill 
Cable in this current issue. Two of these 
are softwares to enhance end extend the 
Capabilities of the PSION ARCHIVE software. 

"REFIELD", runs under ARCHIVE to allow you 
to ADD, RESTRUCTURE, and DELETE fields of 
the ARCHIVE DATA BASE. 

"SCAN", an ARCHIVE program, lists three 
selected fields ona line for each record, 
and SUS the numeric content of the fields. 
The output can be sent to the printer. 

"HELPER", is a Superbasic program which 
provides anew “TOOLKIT” set of functions. 
These functions are; Directory with Copy, 
DELETE a file or program, TOTAL COPY of a 
MOV or Floppy, Multiple FORMATTING, Screen 
Window Set-up, and Date-time setting. 

“ARITHMETIC DRILL", in Superbasic, isa 
sinele program to help learn programing and 
let the kids use to drill in math. 


The above FOUR programs, and their annexes, 
cone on TWO mdv Carts or one Diskette. The 
REFIELD program alone takes up a whole mdv 
cart, and the other three take up all space 
available in another mdv cart, So, no room 
For the other October issue programs and 
utilities, 
$20.00. 


UPDATE MAGAZINE 74 


This is an outstanding value at © 


cartridge, 
and returns the cartridge. 
the QL Library and only 
Individual Issue 


OCTOBER 88 “Hartung Issue" 


The HARTUNG issue, on disk or idv 
cart, contains Bob- Hartung's 


"OL 
Address File" progran, plus all of the 
utilities of the October iSsue which 
could be stuffed into a mdv cartridge. 
"Address File" is a simple, quick and 
easy progran to use. Also, it can 
serve as a Inventory data base. Its 
printing ability makes loading up to 
print labels a easy chore. Screen 
listings and print out can be by 
alphabetical or by last nan, 
Individual names inay be searched out. 
In his article, Bob gives full 
instructions and even allows for 
inodification to use the 40 colum TV 
display. This is 9 good progran to 
study for simple basic programning. 

UTILITIES are added to fill up the 
mdv cart. Sone of the utilities that 
are given are not included in the 
UPDATE magazine pages. (Just had to 
quit at 76 pages!). The Hartung Issue 
cones on either one MDV cartridge or 
one Diskette.- same price $20.00. 


OCTOBER 1988 


OCTOBER 1988 


UPDATE MAGAZINE 


THE TS-2028 Disk Software Library 


TS-2068 Disk Drive Systems supported 
Disks are available for these 


er 80 Track. 


Larken LKDOS, and Aerco FD-68. 
systems on 5.25 inch DS-DD 40 
programs in disk will be for 

identified in 
utilities 


to add value. 
for more 


the listings below. 
are those published in UPDATE Magazine issues, but 
some will be other programs not given in the issues, 
Price is $20.00 
than one disk may take 10% off 


are, Oliger Safe, 


Some individual 
DOS and will be 
of the programs and 


specific 
Most 


included 
per disk (postpaid). Orders 
total price. 


Individual issue series are listed as follows: 


The October 88 "SMART TEXT" ISSUE 


For Larken LKDOS, Oliger DOS, Aerco FD-68 
Your scribe decided to donate the Smart 
Text software to the UPDATE Library. 
Since the Smart Text manual is 70 pages in 
length, and the program listing is a 
quarter of a mile long, it isn't practical 
to give the documentation in the magazine. 
Smart Text is the most extensive software 
ever offered for the TS-2068. It is a 
Multiple Data Base, and a Disk Integrator, 
that has a Word processor. Also included 
is MAIL MERGE. These four main systems 
are integrated to provide many automatic 
functions not present in other softwares. 
For instance, a thousand letters of the 
same or different text may be printed 
NON-STOP. Or, one can just type and print 
some data. Or, one may elect to print one 
ora thousand labels from the mailing 
list; a1 page or a 100 page document, an 
outline, an inventory listing. Smart Text 
uses disk as if a whole package of 
diskettes are extensions of TS-2068 FREE 
Memory. The Smart Text iseue comes on 
either two 40 track diskettes or one 80 
track disk and includes a 70 page manual. 
$20.00 (postpaid) . 

Earlier buyers of Smart Text may want 
to combine an order for this Newest 
version, which has column printing option, 
alternate format for using pre-printed 
letterhead stationary, elective for Dot 
Matrix or Daisy Wheel printers, Full Edit 
during input typing, mail file sorting, 
and postscript option for letters. 
Earlier buyers, add only $10.00 to another 
disk order to receive this version. 


UPDATE MAGAZINE 75! 


The October 88 "HARTUNG" ISSUE" 


This is for OLIGER DOS ONLY, and is a 
collection of 10 "Disk Management" 
programs presented in four issues of 


UPDATE Magazine. Bob Hartung started with 
aearly program given by John Oliger and 
worked for a year expanding to provide a 
most capable disk management systen. 
Bob named these programs "The DOSDEK" 
System. This October 88 UPDATE Magazine 
issue documents the last of this 
outstanding group of programs. Earlier 
magazine issues documents the others. 
This disk issue includes all of the DOSDEX 
programs on a single disk that will let 
you index and manage a complete Diskette 
Library, or to re-organize the individual 
diskettes, programs, or files, in any 
manner that you choose. OR- Each of the 
individual programs may be merged to 
another program to give that program new 
capability. This is an outstanding group 
of programs! $20.00 


The Apr/July 88 "MITCHEL DISK" Issue 


For Oliger DOS, Larken LKDOS, and Aerco 
FD-68. Two UPDATE issues were required to 
present the listings and documentation of 
Bob Mitchell's excellent HOUSEHOLD BUDGET 
software, which is included in this issue 
disk. Also included are all of the 
utilities given in both the April and July 
88 issues. These are; MS-TAS, a utility 
that prints out either Mscript or Tasman 
Data files "without need for the host word 
processor", PEEK VARS utility, some 
printer code initialization utilities, a 
Disk Menu that can be converted, and 
several modified public domain programs. 
All of these programs and utilities maxes 
out a 40 track disk. $20.00 (postpaid) 


OCTOBER 1988 


law uaa E 
ee if} 


The Oct 87/Jan 88 "UPDATE" Issue 


For Oliger DOS, Larken LKDOS, and Aerco 
FD-68. ‘The programs and utilities of the 
two first UPDATE issues are consolodated 


into one issue disk to give an outstanding 


value. ‘The main Software is: 


MAIL MERGE, a data base and printing - 


software to create and print out mailing 
lists, inventories, and other data files 
that need arrangement in a format of from 
one to 7 lines per field, Another data 
base "Outline" allows "school and Church" 
type outlines to be produced and printed 
in indented format for “major topics, and 


sub topics". Two sorting routines allow 
sorting by 'first or last' name of the 
mailing list. ‘Then other nicities, such 


as “letter heads" may be printed. The 
print products are: Complete print out of 
the mailing list, print out of selected 
fields, print to labels of the entire list 
or individual fields. All printing may be 
to your elected TAB position. and 
formatted to your elected number of lines 
between fields. Automatic page control is 
optional so that the printing can be 
either continuous or under page control. 

Two annexes of the Mail Merge program 
are included: 

"Purity", a program that takes a mailing 
list produced by Mail Merge or Smart Text, 
and purifies the listing by eliminating 
duplicate names and skips in the listing. 
PURITY also allows you to break down the 
larger Listing into smaller groups of mail 
files that may be processed by the Smart 
Text software for continuous printing of 
automatic personalizes form letters. 

“LIST LOOKER", is a program that 
supplements both Mail Merge and Smart 
Text. LIST LOOKER loads a Mail File, 
tells you the Dimension of the Character 
array, lets you screen print the listing, 
or print the listing to paper. Print out 
is to your elected format. Also, Label 
Printing is an option. 

ALL THREE of the above programs work 
automatically in the disk drive 
environment and supplement each other. 

EXTRA MEMORY UTILITIES: This disk 
contains four utilities given in the 
January 88 issue to use with DOCK RAM. 
These utilities reconfigure the Home Bank 
of memory, MOVES a Basic program from DISK 


UPDATE MAGAZINE 


76 


into DOCK BANK RAM, then moves another 
program from disk into HOME BANK, in order 
to allow the joint operation of prograns 
in both Home and Dock banks. 

STILL MORE! Included are 20 sound and 
visual utilities to plaggerize and use in 
your own programs. Dont worry, UPDAIE 
gives these 20 utilities to you for that 


2. 

“J-UTILITIES", a group of useful 
utilities by UPDATE, crunches numbers and 
disassembles memory. One of these 
actually uses mixed inputs of Binary, Hex, 
and Decimal to multiply, divide, add, and 
subtract, and gives the answers in all 
three number bases. (dont believe this one 
has ever been done before). 

This great group of software and 
utilities offered for $20.00? Gotta be 
kidding, but they are! And, you wont find 
them anywhere else. They're exclusive. 


About The Issue Disk Program 


The UPDATE Software Library will 
continue to build as more issues of the 
magazine are published and more 
programmers participate. Half of the 
proceeds of issue sales go to the 
authors of these fine programs. The 
other half is absconded by UPDATE 
‘Magazine to pay for the disks, mailing 
expenses, and the upkeep of the 
corporation's 300' luxury yacht which 
plys the seas between Monaco, Aruba, 
and Nassau on official business. So 
far we have had nothing but praise and 
satisfaction expressed by the 
purchasers of the issue disks, so with 
some trepidation, and a _ touch of 
boldness, we added the comment, 
“Unconditionally Guaranteed to Please” 
to the sales pitch for the Issue Disks. 
Update really wants the issue disk 
program to be successful because it 
provides our programmers at least SOME 


compensation for their work (besides 
their personal satisfaction). 
OCTOBER 1988 


We 


ne Se 
or SINCLAIR COMPUTERS 


ADVERTISING RATE SCHEDULE 
effective until July 1989 


UPDATE MAGAZINE is published quarterly each January, 
April, July, and October in support of the users and 
suppliers of the SINCLAIR QL, SINCLAIR 288, AND 
SINCLAIR-TIMEX TS~2068. 


The following Ad sizes are based upon a page size of 8 
1/2 inches by 11 inches. Ads are black and white only. 
Reduction and enlarging capability exists for ads that are 
off size. Camera ready copy should arrive at least 15 days 
before publishing date. 


DISPLAY ADVERTISEMENT RATE SCHEDULE 


AD SIZE PRICE 

2 pages $220.00 

1 page 120.00 
2/3 page 90.00 (vertical or horozontal) 
1/2 page 65.00 (vertical or horozontal) 
1/4 page 35.00 (vertical or horozontal) 
1/8 page 20.00 (vertical or horozontal) 


Special placement of full page or double page ads, add 
10% and call for reservation (inside front cover, first page, 
inside back cover, back cover). 


Line ads: 78 characters per line across page, 1 line 
mins ium, $6.00 per line. Will be type set to Elite 12 Chrs 
per line. 


Your existing Ad .copy for other publications is fine. 
Just send copy with instructions for sizing (up, down, or 
same). Enhancement of legibility is usually possible. Draft 
quality dot matrix print is not so good. 


TERMS: Check Payment with order 10% discount, or 
billing on publication date. (no credit cards). 


Send Ad copy to: UPDATE MAGAZINE, 1317 Stratford Ave., 
Panama City, FL 32404. Tel 904 871 3556 or 904 9871 4513 


77 


OCTOBER 1988 


lL FDoD-GS& i 


WE NEED YOUR HELP! 


We’re trying to find out if you, the 
AERCO FD-68 users of the world, would 
be interested in the following item: 


As we see it, it would be a definitive 
guide to the AERCO DOS AERCO never 
gave you. It would include many 
examples of how to implement the 
commands, eg.:SAVE, LOAD and MERGE. 
It would show how to SAVE arrays/data 
and how to use the extra 64K of RAM 
that AERCO forgot to explain to you! 
There would be a complete appendix and 
all items would be cross- referenced. 


We also anticipate including a section 
on the AERCO/ LKDOS cartridge and its 
operating system and commands. 


1 What wi EED t ow ist ' 
{41> WOULD THIS BE OF INTEREST TO YOU?! 
{2> WHAT WOULD IT BE WORTH TO YOU? ' 


13> WOULD YOU PAY $14.95 FOR IT? 


PLEASE-If you would like to see suoh 
a volume put together, let us know! 
Drop a line or call for more into. If 
enough interest is shown, IT WI B 
DONE! The writer is a VERY well~ 
known writer of software and TS 
articles. You won't be disappointed! 


RNG ENTERPRISES 
1419 1/2 7TH STREET 
GON CITY, OR 97045 (50. 


NOTICE TO AERCO FD-68 USERS!!! 


Rod Gowen, RMG Enterprises is breaking a leg 
trying to support FD-68 users with excellent 
software and utilities. NOW Rod is trying to 
decide whether there is sufficient interest in 
having a detailed manual for the FD-68. He 
MUST have your interest expressed before 
spending the money to produce this manual that 
all FD-68 users need. 


78 
UPDATE MAGAZINE 


UPDATE MAGAZINE 


FD-68 WRITER SUPPORT IS 
NEEDED 


UPDATE Magazine ALSO has 
been beating the bushes 
TRYING to develop writer 
support for the FD-68 
users, with only small 
success. We NEED writer 
support and ask that those 
users who are doing such 
things as MODEM DOWN LOAD 
of CPM programs, and other 
FD-68 use, CHIP IN your 
knowledge for the good of 
all.  Aerco FD-68 users 
need more interchange of 
information. This page in 
UPDATE is devoted to 
stirring up such an 
interchange of programming 
tips, DOS extensions, 
CPM/RPM, use of FD-68 
extra memory, supporting 
utilities, etc. 


There are many TS-2068 
users who spent a lot of 
money for the Aerco FD-68 
Disk system. We once had 
a excellent newsletter 
being published in support 
FD-68 users. Somehow, the 
source of information 
dried up. But, there are 
several expert programmers 
still doing work with the 
FD-68. All need = your 
information published in 
UPDATE, Time Designs, and 
Syncware news. Lets all 
cooperate to re-establish 
interest in the FD-68 disk 
systen. 


The first step is to 
notify Rod Gowen that you 
DO want a good manual 
published. Rod's effort 
to bring this manual isn't 
profit motovated, but is 
for the good interests of 
the user group. (ed). 


OCTOBER 1988 


OCLOBER 1988 UPDATE MAGAZINE 


ADDITION ‘LO ‘I'S-2068 MAIL MERGE (October 1987 UPDATE, OCI'87 Issue Disk): 
The following annex to Mail Merge was added to print out the categories of 
this INDEX after the Mail Merge program had Sorted the subjects by title. <GO 
‘tO 6000? prints the individual columns. 
6000>INPUT "Nbr of Items ";xl: INPUT "INPUL First TAB ";tb: 
INPUT "2nd Tab ";tb2 
6002 FOR n=] TO xl: LET m$=o0$(n,1): LET y$=o$(n,2) 
6004 IF m$(LEN m$)="_" THEN LET m$=m$( TO LEN m$-1): GO TO 6 
004 
6006 IF y$(LEN y$)="_"" THEN LET y$=y$( TO LEN y$-1): GO TO 6 
006 
6008 LPRINE TAB th;m$;TAB tb2;y$ 
6010 NEXT n: STOP 
TIP: For all computers that use DIMENSIONED CHARACTER ARRAYS. Is there 
one that doesn't? The above routine will be explained. The DATA FILE is 
O$(a,b,@), a three dimensional array. "a" is the number of names in a mailing 
list. "b" is the number of information lines. "c"™ is the number of 
characters reserved for the lines. ‘In the case of the INDEX on the opposite 
page, we use the first two "b" lines. The first line is the topic and the 
second line is the page number. We combine these two lines into one for 
printing. I£ direct print o£ the combined lines is done, the “empty spaces in 
the dimensioned line" would not allow flexible printing to TAB. GO TO 6000 
executes the routine. 


Line 6000 assigns var xl to the number of titles to print, The n counter 
is used to count to xl. The data in line 1 is assigned to M$, and the data in 
line 2 is assigned to Y$. Line 6004. uses "recursive" programming to trim all 
empty spaces from line 1. Line 6006 does the same for line 2. In both 
instances, the line loops itself until the IF THEN condition is false, then 
drops to the next line. Each loop trims one empty space from the data line. 
Then Line 6008 prints the two data lines on one paper line at tab. Line 6008 
is adjustable, and could print the data to whatever two TAB positions desired. 
Line 6010 <NEXT n> gets the next two lines to process. Approximately one-half 
second is consuied while processing each two line group. 


= a TRUMP TIP 


Yel 

rae 

iit Kinda hard to read that inset, eh? The manual for the Trump Card is 
kinda like that. I've got it £iggered that Miracle bunch has a printing 
office in Scotland, and you know how thrifty the Scots are, eh? Wot? Anyhow, 
the ‘Trump manual is just too teenie weenie to read and kompersend. BUT. 
ther's lotsa good puddin in the pages that we need to read. In fact iff'n we 
dont be a readin it we wont be a larn'ng it atall. The answer is to truck it 
down to a copy shop and blow it up exactly 4 times, so's the pages comes out 8 
1/2 X 11 inches. That'll cost ya bout $5.00 that the Scots saved, and then 
you can be a learning all about the Trump stuff that you wont unless you do 


that. 


PAY AITENTION! ‘The above was throwed in to £ill space! 
which was an afterthought. UPDATE ISN'T CASUAL READING. What we try to do is 


to give you a THREE MONIH project so that when you are about though with one 
issue the next one hits your mail box. Sometoimes we mix in bit of Cajun and 
Nawrth Flurda Cracker talk when we don no no nuther ways ah tellin at it. 
UPDATE MAGAZINE 7 OCTOBER 1988 
9 


Sharp’s, Inc. 


Rt. 10, Box 459 
Mechanicsville, VA 23111 
(804) 746-1664 or 730-9697 


QL Computer 


95 
S 1 4 9 e includes PSION s/w 


We carry ALL hardware and software lines for the Sinclair QL. Compare our 
prices. VISA and MASTERCARD accepted (3 % surcharge) 
WRITE FOR FREE CATALOG